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] Real-time support

To: "Ky Srinivasan" <ksrinivasan@xxxxxxxxxx>
Subject: Re: [Xen-devel] Real-time support
From: "Geoffrey Lefebvre" <geoffrey@xxxxxxxxx>
Date: Fri, 11 May 2007 00:43:08 -0700
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 11 May 2007 00:41:33 -0700
Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=a1gGaUUmzTMpa+YgliHif8x8JwpTdR+GuevE2XXW58EUUXCdfetycuTarafdeIYtH7/cvhNh0IGjZVS/bCciXl9VpcBxZP676L02dQtPiqfCQ+rF/nKVFstfLJTRSUIAIxEfY5RRG1t1OH/D9stI72bueZomVu7OIyUopJ01tIA=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=I4SlhM1dHYfgH4GFVNzla93wIGhMVq7erDoF/SF1QHkD+1HPJsx9emCJXkAtJTEKd15sUFf3+Dgm+FpnKs5nu/guC5fNizQ7SkkWVCMg3+vH46FcQcFERQ25AhsVSQke5Jv/tia2rA48S7JqoNOD/ppiSVhB1bzQf2w5uzqEFYY=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <8A87A9A84C201449A0C56B728ACF491E0BA4E3@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <46403C69.E57C.0030.0@xxxxxxxxxx> <c3c918090705081339j2439155j30381e55c51ad418@xxxxxxxxxxxxxx> <8A87A9A84C201449A0C56B728ACF491E0BA4E3@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
The pin/unpin operations are certainly by far the longest running
operations in Xen, and it's been on the to-do list to make them
preemptable for a long time. This should be very simple as we can exit
the hypervisor leaving the EIP on the hypercall, and next time the guest
calls in we'll pick up where we left off.


I have thought about real-time support in the past and depending on
the type of real-time guest you want to run, I believe the problem
might be more complicated than it first seems but could be wrong. Feel
free to enlighten me if  my comments below don't make sense :)

I think if all you want to do is preempt one guest to be able to run a
different guest then the solution as stated above will work.  Things
get more complicated if you want to be able to deliver an event to a
guest while that same guest is trapped in the hypervisor.  You
potentially want this feature to avoid a scenario such as a low
priority thread that invoked a long hypercall delaying a high priority
thread waiting for an event (such as a timer). The problem is that
once you allow this upcall into the guest, there is no guarantee that
the next hypercall will be the re-execution of the hypercall you

If the real-time guest you are running is quite simple (a la mini-os)
then you can avoid this kind of scenario but the problem gets harder
to avoid (i think) if you are running something like Linux + preempt
RT as a guest.



Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>