[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Does Xen detect busy-spinning VCPUs?

Hi all,

I'm currently developing/testing a new scheduler for Xen and I am seeing some 
very strange behaviour which I can't seem to pinpoint: For benchmarking 
purposes, I am running a task inside Mini-OS in a tight, busy-spinning loop 
for some time. The loop repeatedly polls NOW() until it exceeds a certain 
time limit. What I am observing is that NOW() seems to "jump" sometimes: two 
subsequent reads return values which differ by tens of milliseconds! I notice 
that my scheduler gets invoked a couple of times, but it does *not* switch to 
another VCPU and I doubt that the scheduler invocations alone take that long. 
So  the loop should indeed be contiuously spinning with sporadic 
interruptions in the range of a few microseconds, but not tens of 
milliseconds. Yet, this is not what I am seeing. I wonder where the (P)CPU 
goes during those time intervals and so this possibly weird idea came up that 
Xen might use some trickery trying to detect and pause busy-spinning VCPUs. 
Is there anything like that in Xen (BTW: This is xen-3.2.1) , and, if there 
is, can it be disabled for a given domain?

(Sorry if this is a silly question. Since my code is experimental and not well 
tested yet, there is of course the possibility that I made some stupid 
mistake. However, I've been staring at code, debug logs, etc. for several 
days now without much success and I am slowly getting desperate. If Xen 
really does pause spinning VCPUs it would explain everything.)

Thanks for any help


Robert Kaiser                    http://wwwvs.informatik.fh-wiesbaden.de
Labor für Verteilte Systeme            kaiser@xxxxxxxxxxxxxxxxxxxxxxxxxx
FH Wiesbaden - University of Applied Sciences     tel: (+49)611-9495-1294
Kurt-Schumacher-Ring 18, 65197 Wiesbaden, Germany fax: (+49)611-9495-1289

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.