[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] trivial fix for vcpu_set_affinity
It's true that the vcpu_migrate() is a no-op if v==current, but the vcpu_sleep_nosync() does have to be executed, otherwise current will not be migrated before returning to guest context (because the schedule softirq will not be asserted). This would mean that a dom0 vcpu could no longer synchronously migrate itself. In any case this patch has no upside -- the existing code works just fine. -- Keir On 11/1/07 08:42, "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote: > No need to try migration in current context since self migrate > will be handled by next vcpu after context switch. > > Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx> > > diff -r e66f047bc97e xen/common/schedule.c > --- a/xen/common/schedule.c Tue Jan 09 18:56:44 2007 -0800 > +++ b/xen/common/schedule.c Thu Jan 11 16:31:37 2007 +0800 > @@ -243,7 +243,7 @@ int vcpu_set_affinity(struct vcpu *v, cp > > vcpu_schedule_unlock_irqrestore(v, flags); > > - if ( test_bit(_VCPUF_migrating, &v->vcpu_flags) ) > + if ( (v != current) && test_bit(_VCPUF_migrating, &v->vcpu_flags) ) > { > vcpu_sleep_nosync(v); > vcpu_migrate(v); > > Thanks, > Kevin > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |