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

RE: [Xen-devel] [PATCH 6/10] Allow vcpu to pause self

To: "Keir Fraser" <keir@xxxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH 6/10] Allow vcpu to pause self
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Date: Thu, 12 Jul 2007 10:37:26 +0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 11 Jul 2007 19:35:24 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C2BACBAF.12470%keir@xxxxxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Ace4wFEyWBrDMwUBRbudwW+SC7WIGwLHO6q6ABLR0tA=
Thread-topic: [Xen-devel] [PATCH 6/10] Allow vcpu to pause self
>From: Keir Fraser [mailto:keir@xxxxxxxxxxxxx]
>Sent: 2007年7月12日 1:02
>
>On 27/6/07 14:37, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote:
>
>> Add self pause ability, which is required by vcpu0/dom0 when
>> running on a AP. This can't be satisfied by existing interface,
>> since the new flag also serves as a sync point.
>>
>> Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx>
>
>I think this should not be needed. Why is dom0/vcpu0 special at all? If
>you
>are doing the final work from a softirq context, can't dom0/vcpu0 simply
>be
>paused like all others at that point? If not then we'll need to make some
>arrangement using vcpu_set_affinity() - I won't add another flag on the
>context-switch path.

I tried to recall the reason for adding this flag. The major reason is that 
sleep hypercall happens on dom0/vcpu0's context, while actual 
enter_state may happen in softirq on idle vcpu context. As a result, we 
need to update rax as return value to dom0/vcpu0 which means lazy 
state required flush into per-vcpu guest context before updating. 
However existing vcpu_pause doesn't work on self context and 
vcpu_pause_nosync leaves lazy state there. That's why a new flag is 
added to allow lazy context sync-ed after switching out.

But after a further thinking, based on the fact that enter_state will force
a lazy context flush on all CPUs now, this interface can be abandoned 
then.

>
>So currently patches 6,7,9,10 are not applied. Patches 6 & 7 because
>they
>need more iteration, as commented above. Patches 9 & 10 will likely
>change
>when the platform_op hypercall interface is slimmed down, so I'm
>leaving
>them out for now.

I'll resend later.

>
>All other patches are in (although the platform_op interface part of patch
>2
>is disabled).
>

Thanks so much,
Kevin

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