WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] RE: rdtsc strangeness on upstream kernel

> With vcpus=2, timer0 goes up to about 2000 irq/sec on CPU0
> and timer1 on CPU1 is the same while rdtsc/sec is about 20000.

No, wait, correct that...timer0 and timer1 are 1000 irq/sec.
(I was using "watch -d" which defaults to updating every
two seconds, not every second.)

> Is it possible that the timer interrupt is using rdtsc
> five times each interrupt?

TEN times each interrupt.

> -----Original Message-----
> From: Dan Magenheimer
> Sent: Monday, July 19, 2010 5:51 PM
> To: Jeremy Fitzhardinge
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: RE: rdtsc strangeness on upstream kernel
> 
> > > The number of rdtsc/second goes up dramatically when
> > > there is CPU-intensive load on an upstream kernel!
> >
> > Are you looking at rdtsc emulation traps when running a PV domain?
> 
> Yes, with "for i in {0..99}; do xm debug-key s; sleep 1; done".
> 
> > > I know we both observed some cases where rdtsc/sec
> > > was very high, but I don't think we ever were able to
> > > reproduce this consistently.
> >
> > It would be interesting to compare that to the context switch rate
> (cs
> > column in vmstat output) to see if they correlate.
> 
> Doesn't appear to be related.  Vmstat continues to show
> cs at about 40/sec while the rdtsc/sec is very high.
> 
> > Also, how does it relate to timer interrupts?
> 
> With vcpus=2, timer0 goes up to about 2000 irq/sec on CPU0
> and timer1 on CPU1 is the same while rdtsc/sec is about 20000.
> Is it possible that the timer interrupt is using rdtsc
> five times each interrupt?
> 
> > > First, this is a single vcpu, 64-bit 2.6.32 (RHEL6b2)
> > > kernel.
> > >
> > > I am observing ~300 rdtsc/sec on an idle VM.  When
> > > I run a load of:
> > >
> > > main() {while(1);}
> > >
> > > I am observing about 10000 rdtsc/sec!!
> > >
> > > This is a CONFIG_HZ_1000=y kernel, so I would
> > > expect 1000 rdtsc/sec, or maybe 2000 rdtsc/sec,
> > > but 10000 makes me wonder if there is some hidden
> > > bug.
> >
> > Do you have preemption running?  And why HZ=1000?
> 
> CONFIG_PREEMPT is off, though there are some other
> PREEMPT-related configs that are on.  Are any others
> relevant?
> 
> HZ=1000 is because this is a straight RHEL6b2 kernel,
> but running as a PV guest.
> 
> Dan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel