| 
 Thanks, I hadn't realized that!  No wonder we didn't see the same 
improvement you saw! 
  
> 
Try specifying clock=pit on the linux boot line... 
  
I'm 
confused... do you mean "clocksource=pit" on the Xen command line 
or 
"nohpet" / "clock=pit" / "clocksource=pit" on the guest (or dom0?) 
command 
line?  Or both places?  Since the tests take awhile, it would 
be nice 
to get 
this right the first time.  Do the Xen and guest clocksources 
need 
to be 
the same? 
  
Thanks, Dan 
  
 -----Original Message----- From: 
Dave Winchell [mailto:dwinchell@xxxxxxxxxxxxxxx] Sent: Sunday, January 
27, 2008 2:22 PM To: dan.magenheimer@xxxxxxxxxx; Keir 
Fraser Cc: xen-devel@xxxxxxxxxxxxxxxxxxx; deepak.patel@xxxxxxxxxx; 
akira.ijuin@xxxxxxxxxx; Dave Winchell Subject: RE: [Xen-devel] [PATCH] 
Add a timer mode that disables pending missed ticks
 
  
  
  Hi Dan, 
    
  Hpet timer does have a fairly large 
  error, as I was trying this one recently. 
  I don't remember what I got for error, 
  but 1% sounds about right. 
  The problem is that hpet is not 
  built on top of vpt.c, the module Keir and I did 
  all the recent work in, for its 
  periodic timer needs. Try specifying 
  clock=pit 
  on the linux boot line. If it still picks 
  the hpet, which it might, let me 
  know 
  and I'll tell you how to get around 
  this. 
    
  Regards, 
  Dave 
    
    
     
   
  
  
  From: Dan Magenheimer 
  [mailto:dan.magenheimer@xxxxxxxxxx] Sent: Fri 1/25/2008 6:50 
  PM To: Dave Winchell; Keir Fraser Cc: 
  xen-devel@xxxxxxxxxxxxxxxxxxx; deepak.patel@xxxxxxxxxx; 
  akira.ijuin@xxxxxxxxxx Subject: RE: [Xen-devel] [PATCH] Add a timer 
  mode that disables pending missed ticks
  
  
  Sorry for the very late followup on this but we finally were 
  able to get our testing set up again on stable 3.1 bits and have seen 
  some very bad results on 3.1.3-rc1, on the order of 1%.
  Test enviroment 
  was a 4-socket dual core machine with 24GB of memory running six two-vcpu 
  2GB domains, four hvm plus two pv. All six guests were running LTP 
  simultaneously.  The four hvm guests were: RHEL5u1-64, RHEL4u5-32, 
  RHEL5-64, and RHEL4u5-64. Timer_mode was set to 2 for 64-bit guests and 0 
  for 32-bit guests. All four hvm guests experienced skew around -1%, even 
  the 32-bit guest.  Less intensive testing didn't exhibit much skew at 
  all.
  A representative graph is attached.
  Dave, I wonder if some 
  portion of your patches didn't end up in the xen trees?
  (xm dmesg 
  shows 8x Xeon 3.2GHz stepping 04, Platform timer 14.318MHz 
  HPET.)
  Thanks, Dan
  P.S. Many thanks to Deepak and Akira for 
  running tests.
  > -----Original Message----- > From: 
  xen-devel-bounces@xxxxxxxxxxxxxxxxxxx > [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx]On 
  Behalf Of > Dave Winchell > Sent: Wednesday, January 09, 2008 9:53 
  AM > To: Keir Fraser > Cc: dan.magenheimer@xxxxxxxxxx; 
  xen-devel@xxxxxxxxxxxxxxxxxxx; Dave > Winchell > Subject: Re: 
  [Xen-devel] [PATCH] Add a timer mode that > disables pending > 
  missed ticks > > > Hi Keir, > > The latest 
  change, c/s 16690, looks fine. > I agree that the code in c/s 16690 is 
  equivalent to > the code I submitted. Also, your version is more > 
  concise. > > The error tests confirm the equivalence. With 
  overnight cpu loads, > the checked in version was accurate to +.048% for 
  sles > and +.038% for red hat. My version was +.046% and +.032% in 
  a > 2 hour test. > I don't think the difference is 
  significant. > > i/o loads produced errors of 
  +.01%. > > Thanks for all your efforts on this 
  issue. > > Regards, > Dave > > > > 
  Keir Fraser wrote: > > >Applied as c/s 16690, although the 
  checked-in patch is > smaller. I think the > >only important 
  fix is to pt_intr_post() and the only bit of > the patch I > 
  >totally omitted was the change to pt_process_missed_ticks(). > I 
  don't think > >that change can be important, but let's see what 
  happens to the error > >percentage... > > > > -- 
  Keir > > > >On 4/1/08 23:24, "Dave Winchell" 
  <dwinchell@xxxxxxxxxxxxxxx> wrote: > > > > > 
  > > >>Hi Dan and Keir, > >> > 
  >>Attached is a patch that fixes some issues with the SYNC 
  policy > >>(no_missed_ticks_pending). > >>I have not 
  tried to make the change the minimal one, but, > rather, just > 
  >>ported into > >>the new code what I know to work well. The 
  error for > >>no_missed_ticks_pending goes from > 
  >>over 3% to .03% with this change according to my testing. > 
  >> > >>Regards, > >>Dave > 
  >> > >>Dan Magenheimer wrote: > >> > 
  >> > >> > >>>Hi Dave -- > 
  >>> > >>>Did you get your correction ported?  If 
  so, it would be > nice to see this get > >>>into 
  3.1.3. > >>> > >>>Note that I just did some very 
  limited testing with > timer_mode=2(=SYNC=no > >>>missed 
  ticks pending) > >>>on tip of xen-3.1-testing (64-bit Linux hv 
  guest) and the > worst error I've > >>>seen so 
  far > >>>is 0.012%.  But I haven't tried any exotic loads, 
  just LTP. > >>> > >>>Thanks, > 
  >>>Dan > >>> > >>> > 
  >>> > >>> > >>> > 
  >>>>-----Original Message----- > >>>>From: Dave 
  Winchell [mailto:dwinchell@xxxxxxxxxxxxxxx] > 
  >>>>Sent: Wednesday, December 19, 2007 12:33 PM > 
  >>>>To: dan.magenheimer@xxxxxxxxxx > >>>>Cc: 
  Keir Fraser; Shan, Haitao; > xen-devel@xxxxxxxxxxxxxxxxxxx; 
  Dong, > >>>>Eddie; Jiang, Yunhong; Dave Winchell > 
  >>>>Subject: Re: [Xen-devel] [PATCH] Add a timer mode that > 
  >>>>disables pending > >>>>missed ticks > 
  >>>> > >>>> > >>>>Dan, > 
  >>>> > >>>>I did some testing with the constant 
  tsc offset SYNC method > >>>>(now called > 
  >>>>no_missed_ticks_pending) > >>>>and found the 
  error to be very high, much larger than 1 %, as > >>>>I 
  recall. > >>>>I have not had a chance to submit a 
  correction. I will try to > >>>>do it later > 
  >>>>this week or the first week in January. My version of constant 
  tsc > >>>>offset SYNC method > 
  >>>>produces .02 % error, so I just need to port that into 
  the > >>>>current code. > >>>> > 
  >>>>The error you got for both of those kernels is what I would 
  expect > >>>>for the default mode, 
  delay_for_missed_ticks. > >>>> > >>>>I'll 
  let Keir answer on how to set the time mode. > >>>> > 
  >>>>Regards, > >>>>Dave > 
  >>>> > >>>>Dan Magenheimer wrote: > 
  >>>> > >>>> > >>>> > 
  >>>> > >>>> > >>>>>Anyone 
  make measurements on the final patch? > >>>>> > 
  >>>>>I just ran a 64-bit RHEL5.1 pvm kernel and saw a loss 
  of > >>>>> > >>>>> > 
  >>>>> > >>>>> > 
  >>>>about 0.2% with no load.  This was xen-unstable tip 
  today > >>>>with no options specified.  32-bit was 
  about 0.01%. > >>>> > >>>> > 
  >>>> > >>>> > >>>>>I think 
  I missed something... how do I run the various > 
  >>>>> > >>>>> > 
  >>>>> > >>>>> > 
  >>>>accounting choices and which ones are known to be 
  appropriate > >>>>for which kernels? > 
  >>>> > >>>> > >>>> > 
  >>>> > >>>>>Thanks, > 
  >>>>>Dan > >>>>> > 
  >>>>> > >>>>> > 
  >>>>> > >>>>> > 
  >>>>> > >>>>> > 
  >>>>>>-----Original Message----- > 
  >>>>>>From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx > 
  >>>>>>[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx]On 
  Behalf Of > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>Keir Fraser > 
  >>>> > >>>> > >>>> > 
  >>>> > >>>>>>Sent: Thursday, December 06, 
  2007 4:57 AM > >>>>>>To: Dave Winchell > 
  >>>>>>Cc: Shan, Haitao; xen-devel@xxxxxxxxxxxxxxxxxxx; 
  Dong, > Eddie; Jiang, > >>>>>>Yunhong > 
  >>>>>>Subject: Re: [Xen-devel] [PATCH] Add a timer mode 
  that > >>>>>>disables pending > 
  >>>>>>missed ticks > >>>>>> > 
  >>>>>> > >>>>>>Please take a look at 
  xen-unstable changeset 16545. > >>>>>> > 
  >>>>>>-- Keir > >>>>>> > 
  >>>>>>On 26/11/07 20:57, "Dave Winchell" > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>><dwinchell@xxxxxxxxxxxxxxx> wrote: > 
  >>>> > >>>> > >>>> > 
  >>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>Keir, > 
  >>>>>>> > >>>>>>>The accuracy 
  data I've collected for i/o loads for the > 
  >>>>>>>various time protocols follows. In addition, the 
  data > >>>>>>>for cpu loads is shown. > 
  >>>>>>> > >>>>>>>The loads 
  labeled cpu and i/o-8 are on an 8 processor AMD box. > 
  >>>>>>>Two guests, red hat and sles 64 bit, 8 vcpu 
  each. > >>>>>>>The cpu load is usex -e36 on each 
  guest. > >>>>>>>(usex is available at http://people.redhat.com/anderson/usex.) > 
  >>>>>>>i/o load is 8 instances of dd if=/dev/hda6 
  of=/dev/null. > >>>>>>> > 
  >>>>>>>The loads labeled i/o-32 are 32 instances of 
  dd. > >>>>>>>Also, these are run on 4 cpu AMD 
  box. > >>>>>>>In addition, there is an idle 
  rh-32bit guest. > >>>>>>>All three guests are 
  8vcpu. > >>>>>>> > 
  >>>>>>>The loads labeled i/o-4/32 are the same as 
  i/o-32 > >>>>>>>except that the redhat-64 guest has 
  4 instances of dd. > >>>>>>> > 
  >>>>>>>Date Duration Protocol sles, rhat error 
  load > >>>>>>> > 
  >>>>>>>11/07 23 hrs 40 min ASYNC -4.96 sec, +4.42 sec 
  -.006%, > +.005% cpu > >>>>>>>11/09 3 hrs 19 
  min ASYNC -.13 sec, +1.44 sec, -.001%, > +.012% cpu > 
  >>>>>>> > >>>>>>>11/08 2 hrs 
  21 min SYNC -.80 sec, -.34 sec, -.009%, -.004% cpu > 
  >>>>>>>11/08 1 hr 25 min SYNC -.24 sec, -.26 sec, -.005%, 
  -.005% cpu > >>>>>>>11/12 65 hrs 40 min SYNC -18 
  sec, -8 sec, -.008%, -.003% cpu > >>>>>>> > 
  >>>>>>>11/08 28 min MIXED -.75 sec, -.67 sec -.045%, 
  -.040% cpu > >>>>>>>11/08 15 hrs 39 min MIXED -19. 
  sec,-17.4 sec, -.034%, > -.031% cpu > 
  >>>>>>> > >>>>>>> > 
  >>>>>>>11/14 17 hrs 17 min ASYNC -6.1 sec,-55.7 sec, 
  -.01%, > -.09% i/o-8 > >>>>>>>11/15 2 hrs 44 
  min ASYNC -1.47 sec,-14.0 sec, -.015% > -.14% i/o-8 > 
  >>>>>>> > >>>>>>>11/13 15 hrs 
  38 min SYNC -9.7 sec,-12.3 sec, -.017%, > -.022% i/o-8 > 
  >>>>>>>11/14 48 min SYNC - .46 sec, - .48 sec, -.017%, 
  -.018% i/o-8 > >>>>>>> > 
  >>>>>>>11/14 4 hrs 2 min MIXED -2.9 sec, -4.15 sec, 
  -.020%, > -.029% i/o-8 > >>>>>>>11/20 16 hrs 
  2 min MIXED -13.4 sec,-18.1 sec, -.023%, > -.031% i/o-8 > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>>11/21 28 min 
  MIXED -2.01 sec, -.67 sec, -.12%, -.04% i/o-32 > 
  >>>>>>>11/21 2 hrs 25 min SYNC -.96 sec, -.43 sec, 
  -.011%, > -.005% i/o-32 > >>>>>>>11/21 40 min 
  ASYNC -2.43 sec, -2.77 sec -.10%, -.11% i/o-32 > 
  >>>>>>> > >>>>>>>11/26 113 hrs 
  46 min MIXED -297. sec, 13. sec -.07%, > .003% i/o-4/32 > 
  >>>>>>>11/26 4 hrs 50 min SYNC -3.21 sec, 1.44 sec, 
  -.017%, > .01% i/o-4/32 > >>>>>>> > 
  >>>>>>> > >>>>>>>Overhead 
  measurements: > >>>>>>> > 
  >>>>>>>Progress in terms of number of passes through a 
  fixed > >>>>>>> > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>system 
  workload > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>on an 8 vcpu red 
  hat with an 8 vcpu sles idle. > >>>>>>>The workload 
  was usex -b48. > >>>>>>> > 
  >>>>>>> > >>>>>>>ASYNC 167 min 
  145 passes .868 passes/min > >>>>>>>SYNC 167 min 
  144 passes .862 passes/min > >>>>>>>SYNC 1065 min 
  919 passes .863 passes/min > >>>>>>>MIXED 221 min 
  196 passes .887 passes/min > >>>>>>> > 
  >>>>>>> > 
  >>>>>>>Conclusions: > 
  >>>>>>> > >>>>>>>The only 
  protocol which meets the .05% accuracy > requirement for ntp > 
  >>>>>>>tracking under the loads > 
  >>>>>>>above is the SYNC protocol. The worst case 
  accuracies for > >>>>>>> > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>SYNC, 
  MIXED, > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>and ASYNC > 
  >>>>>>>are .022%, .12%, and .14%, respectively. > 
  >>>>>>> > >>>>>>>We could 
  reduce the cost of the SYNC method by only > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>> > 
  >>>>>>scheduling the extra > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>wakeups if a certain number > 
  >>>>>>>of ticks are missed. > 
  >>>>>>> > 
  >>>>>>>Regards, > 
  >>>>>>>Dave > >>>>>>> > 
  >>>>>>>Keir Fraser wrote: > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>> > 
  >>>>>>> > >>>>>>>>On 
  9/11/07 19:22, "Dave Winchell" > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>><dwinchell@xxxxxxxxxxxxxxx> wrote: > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>>>Since I had a high error (~.03%) for the 
  ASYNC method a > >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > >>>>>>couple of 
  days ago, > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>>I ran 
  another ASYNC test. I think there may have > been something > 
  >>>>>>>>>wrong with the code I used a couple of 
  days ago for > >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > >>>>>>ASYNC. It 
  may have been > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>>missing 
  the immediate delivery of interrupt after context > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > >>>>>>switch 
  in. > >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>>>My results indicate that either SYNC or 
  ASYNC give > >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>acceptable accuracy, > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>>>each running consistently around or under 
  .01%. MIXED has > >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > >>>>>>a fairly 
  high > >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>>>error of > 
  >>>>>>>>>greater than .03%. Probably too close to 
  .05% ntp > >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > >>>>>>threshold 
  for comfort. > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>>I don't 
  have an overnight run with SYNC. I plan to leave > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > >>>>>>SYNC 
  running > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>>over the 
  weekend. If you'd rather I can leave MIXED > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > >>>>>>running 
  instead. > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>>It may be 
  too early to pick the protocol and I can run > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > >>>>>>more 
  overnight tests > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>>next 
  week. > >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>> > 
  >>>>>>>>I'm a bit worried about any unwanted side 
  effects of the > >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>SYNC+run_timer > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>>approach -- e.g., whether timer wakeups will 
  cause higher > >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > >>>>>>system-wide 
  CPU > >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>>contention. I find it easier to think through 
  the > >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > >>>>>>implications 
  of ASYNC. I'm > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>surprised 
  that MIXED loses time, and is less accurate than > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > >>>>>>ASYNC. 
  Perhaps it > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>delivers more 
  timer interrupts than the other approaches, > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > >>>>>>and each 
  interrupt > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>event causes 
  a small accumulated error? > >>>>>>>> > 
  >>>>>>>>Overall I would consider MIXED and ASYNC as 
  favourites and > >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > >>>>>>if the latter 
  is > >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>>actually more accurate then I can simply 
  revert the > changeset that > 
  >>>>>>>>implemented MIXED. > 
  >>>>>>>> > 
  >>>>>>>>Perhaps rather than running more of the same 
  workloads you > >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > >>>>>>could try 
  idle > >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>>VCPUs and I/O bound VCPUs (e.g., repeated 
  large disc reads > >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > >>>>>>to 
  /dev/null)? We > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>>>>don't have 
  any data on workloads that aren't CPU bound, so > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > >>>>>>that's really 
  an > >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>>>>obvious place to put any further effort 
  imo. > >>>>>>>> > 
  >>>>>>>>-- Keir > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>>> > 
  >>>>>>_______________________________________________ > 
  >>>>>>Xen-devel mailing list > 
  >>>>>>Xen-devel@xxxxxxxxxxxxxxxxxxx > 
  >>>>>>http://lists.xensource.com/xen-devel > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>>> > >>>>>> > 
  >>>>> > >>>>> > 
  >>>>> > >>>>> > 
  >>>> > >>>> > >>>> > 
  >>>> > >>> > >>> > 
  >>> > >>> > >>diff -r cfdbdca5b831 
  xen/arch/x86/hvm/vpt.c > >>--- a/xen/arch/x86/hvm/vpt.c Thu Dec 06 
  15:36:07 2007 +0000 > >>+++ b/xen/arch/x86/hvm/vpt.c Fri Jan 04 
  17:58:16 2008 -0500 > >>@@ -58,7 +58,7 @@ static void 
  pt_process_missed_ticks(stru > >> > 
  >>     missed_ticks = missed_ticks / (s_time_t) 
  pt->period + 1; > >>     if ( 
  mode_is(pt->vcpu->domain, no_missed_ticks_pending) ) > 
  >>-        pt->do_not_freeze = 
  !pt->pending_intr_nr; > 
  >>+        pt->do_not_freeze = 
  1; > >>     else > 
  >>         
  pt->pending_intr_nr += missed_ticks; > 
  >>     pt->scheduled += missed_ticks * 
  pt->period; > >>@@ -127,7 +127,12 @@ static void 
  pt_timer_fn(void *data) > >> > 
  >>     pt_lock(pt); > >> > 
  >>-    pt->pending_intr_nr++; > 
  >>+    if ( mode_is(pt->vcpu->domain, 
  no_missed_ticks_pending) ) { > 
  >>+        pt->pending_intr_nr = 
  1; > >>+ pt->do_not_freeze = 0; > 
  >>+    } > >>+    else > 
  >>+ pt->pending_intr_nr++; > >> > 
  >>     if ( !pt->one_shot ) > 
  >>     { > >>@@ -221,8 +226,6 @@ void 
  pt_intr_post(struct vcpu *v, struct > 
  >>         return; > 
  >>     } > >> > 
  >>-    pt->do_not_freeze = 0; > 
  >>- > >>     if ( pt->one_shot 
  ) > >>     { > 
  >>         pt->enabled = 
  0; > >>@@ -235,6 +238,10 @@ void pt_intr_post(struct vcpu *v, 
  struct > 
  >>             
  pt->last_plt_gtime = hvm_get_guest_time(v); > 
  >>             
  pt->pending_intr_nr = 0; /* 'collapse' all > missed ticks */ > 
  >>         } > >>+ 
  else if ( mode_is(v->domain, no_missed_ticks_pending) ) { > 
  >>+     pt->pending_intr_nr--; > 
  >>+     pt->last_plt_gtime = 
  hvm_get_guest_time(v); > >>+ } > 
  >>         else > 
  >>         { > 
  >>             
  pt->last_plt_gtime += pt->period_cycles; > >> > 
  >> > > > > > > > 
  > > > > 
  _______________________________________________ > Xen-devel mailing 
  list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel >
    
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |