From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH] trivial fix for vcpu_set_affinity Date: Thu, 11 Jan 2007 09:43:47 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Tian, Kevin" , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org 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" 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 > > 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@lists.xensource.com > http://lists.xensource.com/xen-devel