All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: David Vrabel <david.vrabel@citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: Multiple issues with event channel on Xen on ARM
Date: Wed, 05 Feb 2014 13:44:29 +0000	[thread overview]
Message-ID: <52F2403D.7080006@linaro.org> (raw)
In-Reply-To: <52F23DEE.7080601@citrix.com>

On 02/05/2014 01:34 PM, David Vrabel wrote:

Hello David,

> I think the following patch should fix the 2-level problems.
> 
> You can force the use of 2-level events by using the xen.fifo_events=0
> Linux command line option.

Thanks for the patch, I'm now able to use 2-level events without issue
for a guest.
Now, I need to look at the fifo events when the domain is killed.

> 8<-------------------------------------------------
> xen/events: bind all new interdomain events to VCPU0
> 
> From: David Vrabel <david.vrabel@citrix.com>
> 
> Commit fc087e10734a4d3e40693fc099461ec1270b3fff (xen/events: remove
> unnecessary init_evtchn_cpu_bindings()) causes a regression.
> 
> The kernel-side VCPU binding was not being correctly set for newly
> allocated or bound interdomain events.  In ARM guests where 2-level
> events were used, this would result in no interdomain events being
> handled because the local VCPU masks would all be clear.
> 
> x86 guests would work because the irq affinity was set during irq
> setup and this would set the correct kernel-side VCPU binding.
> 
> Fix this by by properly initializing the kernel-side VCPU binding in
> bind_evtchn_to_irq().
> 
> Reported-by: Julian Grall <julien.grall@linaro.org>

s/Julian/Julien/

> Signed-off-by: David Vrabel <david.vrabel@citrix.com>

Tested-by: Julien Grall <julien.grall@linaro.org>

Regards,

> ---
>  drivers/xen/events/events_base.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
> index 4672e00..5cc1f78 100644
> --- a/drivers/xen/events/events_base.c
> +++ b/drivers/xen/events/events_base.c
> @@ -862,6 +862,9 @@ int bind_evtchn_to_irq(unsigned int evtchn)
>  			irq = ret;
>  			goto out;
>  		}
> +
> +		/* Newly bound event channels start off on VCPU0. */
> +		bind_evtchn_to_cpu(evtchn, 0);
>  	} else {
>  		struct irq_info *info = info_for_irq(irq);
>  		WARN_ON(info == NULL || info->type != IRQT_EVTCHN);
> 


-- 
Julien Grall

  reply	other threads:[~2014-02-05 13:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-04 23:18 Multiple issues with event channel on Xen on ARM Julien Grall
2014-02-05 10:09 ` David Vrabel
2014-02-05 10:33   ` Julien Grall
2014-02-05 10:45 ` David Vrabel
2014-02-05 13:34   ` David Vrabel
2014-02-05 13:44     ` Julien Grall [this message]
2014-02-05 13:52       ` David Vrabel
2014-02-05 13:58         ` Julien Grall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52F2403D.7080006@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=david.vrabel@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.