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/
Home Products Support Community News


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

To: Robert Kaiser <kaiser@xxxxxxxxxxxxxxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-devel] Does Xen detect busy-spinning VCPUs?
From: Daniel Magenheimer <dan.magenheimer@xxxxxxxxxx>
Date: Fri, 19 Sep 2008 07:36:13 -0700 (PDT)
Delivery-date: Fri, 19 Sep 2008 07:37:39 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <200809191400.24747.kaiser@xxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Is your mini-OS pinned and you're sure dom0 or other
domains are not getting a piece of the pcpu?  If so...

I've seen anecdotal evidence of long pauses that led me
to wonder about interrupt latency here:


I don't recall the situation or the length of the pause
but perhaps you are seeing something similar.  Unfortunately,
I never pursued the answer to the interrupt latency question.

> -----Original Message-----
> From: Robert Kaiser [mailto:kaiser@xxxxxxxxxxxxxxxxxxxxxxxxxx]
> Sent: Friday, September 19, 2008 6:00 AM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [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
> Rob
> -- 
> 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
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Xen-devel mailing list