All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: julien.grall@citrix.com, xen-devel@lists.xensource.com,
	Ian.Campbell@citrix.com
Subject: Re: [PATCH v8 09/13] xen/arm: second irq injection while the first irq is still inflight
Date: Fri, 23 May 2014 16:14:35 +0100	[thread overview]
Message-ID: <537F65DB.5020403@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1405231545300.14596@kaball.uk.xensource.com>

On 05/23/2014 03:50 PM, Stefano Stabellini wrote:
> The following change works:
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 33141e3..2a8456f 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -644,6 +644,8 @@ int arch_set_info_guest(
>      else
>          set_bit(_VPF_down, &v->pause_flags);
>  
> +    vgic_vcpu_inject_irq(v, v->domain->arch.evtchn_irq);
> +

This is racy, we may not clear the _VPF_down bit in this function
(depending if VGCF_online is set or not).

Hopefully for ARM, libxc is setting this flags by default but it's not
always true.

>      return 0;
>  }
>  
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index af5cd6c..d597f63 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1087,6 +1087,8 @@ int construct_dom0(struct domain *d)
>      }
>  #endif
>  
> +    vgic_vcpu_inject_irq(v, v->domain->arch.evtchn_irq);
> +

I think it needs a comment in code.

Regards,

-- 
Julien Grall

  reply	other threads:[~2014-05-23 15:14 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-22 12:31 [PATCH v8 0/13] remove maintenance interrupts Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 01/13] xen/arm: no need to set HCR_VI when using the vgic to inject irqs Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 02/13] xen/arm: remove unused virtual parameter from vgic_vcpu_inject_irq Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 03/13] xen/arm: set GICH_HCR_UIE if all the LRs are in use Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 04/13] xen/arm: support HW interrupts, do not request maintenance_interrupts Stefano Stabellini
2014-05-22 15:31   ` Julien Grall
2014-05-22 12:32 ` [PATCH v8 05/13] xen/arm: nr_lrs should be uint8_t Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 06/13] xen/arm: keep track of the GICH_LR used for the irq in struct pending_irq Stefano Stabellini
2014-05-22 15:37   ` Julien Grall
2014-05-22 12:32 ` [PATCH v8 07/13] xen/arm: s/gic_set_guest_irq/gic_raise_guest_irq Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 08/13] xen/arm: rename GIC_IRQ_GUEST_PENDING to GIC_IRQ_GUEST_QUEUED Stefano Stabellini
2014-05-22 15:39   ` Julien Grall
2014-06-06 15:15   ` Ian Campbell
2014-05-22 12:32 ` [PATCH v8 09/13] xen/arm: second irq injection while the first irq is still inflight Stefano Stabellini
2014-05-22 15:48   ` Julien Grall
2014-05-22 17:39     ` Stefano Stabellini
2014-05-22 18:05       ` Julien Grall
2014-05-23 14:50         ` Stefano Stabellini
2014-05-23 15:14           ` Julien Grall [this message]
2014-05-23 17:24             ` Stefano Stabellini
2014-05-25 18:46               ` Julien Grall
2014-05-27 16:53                 ` Stefano Stabellini
2014-06-06 15:25   ` Ian Campbell
2014-06-09 10:34     ` Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 10/13] xen/arm: don't protect GICH and lr_queue accesses with gic.lock Stefano Stabellini
2014-05-22 16:04   ` Julien Grall
2014-05-22 12:32 ` [PATCH v8 11/13] xen/arm: gic_events_need_delivery and irq priorities Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 12/13] xen/arm: introduce GIC_PRI_TO_GUEST macro Stefano Stabellini
2014-05-22 12:32 ` [PATCH v8 13/13] gic_remove_from_queues: take a lock on the right vcpu Stefano Stabellini
2014-05-22 16:10   ` Julien Grall
2014-05-22 17:45     ` Stefano Stabellini
2014-05-22 18:10       ` Julien Grall
2014-05-23 17:33         ` Stefano Stabellini
2014-05-23 17:46           ` Julien Grall
2014-05-25 15:39             ` Stefano Stabellini
2014-05-25 17:37               ` Julien Grall
2014-05-25 17:44                 ` Stefano Stabellini
2014-05-25 17:54                   ` Stefano Stabellini

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=537F65DB.5020403@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=julien.grall@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /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.