From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH v2 5/5] Revert "x86/hvm: wait for at least one ioreq server to be enabled" Date: Thu, 19 Mar 2015 17:07:37 +0000 Message-ID: <1426784857.21742.86.camel@citrix.com> References: <1426771086-9026-1-git-send-email-wei.liu2@citrix.com> <1426771086-9026-6-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1426771086-9026-6-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Wei Liu , Jan Beulich , Andrew Cooper Cc: stefano.stabellini@eu.citrix.com, ian.jackson@eu.ctrix.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Thu, 2015-03-19 at 13:18 +0000, Wei Liu wrote: > This reverts commit dd748d128d86996592afafea02e578cc7d4e6d42. > > We don't need this workaround anymore since we have fixed the toolstack > interlock problem that affects stubdom. > > Signed-off-by: Wei Liu Acked-by: Ian Campbell But, really this needs acks from the x86 guys. Cc Added. > --- > xen/arch/x86/hvm/hvm.c | 21 --------------------- > xen/include/asm-x86/hvm/domain.h | 1 - > 2 files changed, 22 deletions(-) > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c > index 4734d71..32905d0 100644 > --- a/xen/arch/x86/hvm/hvm.c > +++ b/xen/arch/x86/hvm/hvm.c > @@ -892,13 +892,6 @@ static void hvm_ioreq_server_enable(struct hvm_ioreq_server *s, > > done: > spin_unlock(&s->lock); > - > - /* This check is protected by the domain ioreq server lock. */ > - if ( d->arch.hvm_domain.ioreq_server.waiting ) > - { > - d->arch.hvm_domain.ioreq_server.waiting = 0; > - domain_unpause(d); > - } > } > > static void hvm_ioreq_server_disable(struct hvm_ioreq_server *s, > @@ -1450,20 +1443,6 @@ int hvm_domain_initialise(struct domain *d) > > spin_lock_init(&d->arch.hvm_domain.ioreq_server.lock); > INIT_LIST_HEAD(&d->arch.hvm_domain.ioreq_server.list); > - > - /* > - * In the case where a stub domain is providing emulation for > - * the guest, there is no interlock in the toolstack to prevent > - * the guest from running before the stub domain is ready. > - * Hence the domain must remain paused until at least one ioreq > - * server is created and enabled. > - */ > - if ( !is_pvh_domain(d) ) > - { > - domain_pause(d); > - d->arch.hvm_domain.ioreq_server.waiting = 1; > - } > - > spin_lock_init(&d->arch.hvm_domain.irq_lock); > spin_lock_init(&d->arch.hvm_domain.uc_lock); > > diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h > index 0702bf5..2757c7f 100644 > --- a/xen/include/asm-x86/hvm/domain.h > +++ b/xen/include/asm-x86/hvm/domain.h > @@ -83,7 +83,6 @@ struct hvm_domain { > struct { > spinlock_t lock; > ioservid_t id; > - bool_t waiting; > struct list_head list; > } ioreq_server; > struct hvm_ioreq_server *default_ioreq_server;