|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 5/5] Revert "x86/hvm: wait for at least one ioreq server to be enabled"
>>> On 20.03.15 at 17:19, <wei.liu2@xxxxxxxxxx> 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 <wei.liu2@xxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
I'd actually like to make my ack dependent on Paul's, considering
that he was the one who put in that workaround (and hence
should have been Cc-ed on a revert thereof).
Jan
> ---
> 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;
> --
> 1.9.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |