[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |