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

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


  • To: "Keir Fraser" <keir@xxxxxxxxxxxxx>
  • 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
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • 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


 


Rackspace

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