From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: xen-devel@lists.xenproject.org, tim@xen.org,
stefano.stabellini@citrix.com, patches@linaro.org
Subject: Re: [PATCH for-4.5 6/8] xen/arm: IRQ: Add lock contrainst for gic_irq_{startup, shutdown}
Date: Wed, 19 Feb 2014 14:35:40 +0000 [thread overview]
Message-ID: <5304C13C.5060505@linaro.org> (raw)
In-Reply-To: <1392810675.29739.15.camel@kazak.uk.xensource.com>
Hi Ian,
On 02/19/2014 11:51 AM, Ian Campbell wrote:
> On Fri, 2014-01-24 at 16:43 +0000, Julien Grall wrote:
>> When multiple action will be supported, gic_irq_{startup,shutdown} will have
>> to be called in the same critical zone has setup/release.
>
> s/has/as/?
Yes.
>> Otherwise it could have a race condition if at the same time CPU A is calling
>> release_dt_irq and CPU B is calling setup_dt_irq.
>>
>> This could end up to the IRQ is not enabled.
>
> "This could end up with the IRQ not being enabled."
>
>>
>> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>> ---
>> xen/arch/arm/gic.c | 40 +++++++++++++++++++++++++---------------
>> 1 file changed, 25 insertions(+), 15 deletions(-)
>>
>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>> index 2643b46..ebd2b5f 100644
>> --- a/xen/arch/arm/gic.c
>> +++ b/xen/arch/arm/gic.c
>> @@ -129,43 +129,53 @@ void gic_restore_state(struct vcpu *v)
>> gic_restore_pending_irqs(v);
>> }
>>
>> -static void gic_irq_enable(struct irq_desc *desc)
>> +static unsigned int gic_irq_startup(struct irq_desc *desc)
>
> unsigned? What are the error codes here going to be?
This is the return type requested by hw_interrupt_type.startup.
It seems that the return is never checked (even in x86 code). Maybe we
should change the prototype of hw_interrupt_type.startup.
Cheers,
--
Julien Grall
next prev parent reply other threads:[~2014-02-19 14:35 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-24 16:43 [PATCH for-4.5 0/8] Interrupt management reworking Julien Grall
2014-01-24 16:43 ` [PATCH for-4.5 1/8] xen/arm: irq: move gic {, un}lock in gic_set_irq_properties Julien Grall
2014-02-19 11:23 ` Ian Campbell
2014-02-19 13:38 ` Julien Grall
2014-01-24 16:43 ` [PATCH for-4.5 2/8] xen/arm: setup_dt_irq: don't enable the IRQ if the creation has failed Julien Grall
2014-02-19 11:24 ` Ian Campbell
2014-03-12 14:48 ` Ian Campbell
2014-01-24 16:43 ` [PATCH for-4.5 3/8] xen/arm: IRQ: Protect IRQ to be shared between domains and XEN Julien Grall
2014-02-19 11:35 ` Ian Campbell
2014-02-19 13:59 ` Julien Grall
2014-01-24 16:43 ` [PATCH for-4.5 4/8] xen/arm: irq: Don't need to have a specific function to route IRQ to Xen Julien Grall
2014-02-19 11:45 ` Ian Campbell
2014-02-19 14:16 ` Julien Grall
2014-01-24 16:43 ` [PATCH for-4.5 5/8] xen/arm: IRQ: rename release_irq in release_dt_irq Julien Grall
2014-02-19 11:47 ` Ian Campbell
2014-02-19 14:23 ` Julien Grall
2014-01-24 16:43 ` [PATCH for-4.5 6/8] xen/arm: IRQ: Add lock contrainst for gic_irq_{startup, shutdown} Julien Grall
2014-02-19 11:51 ` Ian Campbell
2014-02-19 14:35 ` Julien Grall [this message]
2014-02-19 14:38 ` Ian Campbell
2014-02-19 14:51 ` Julien Grall
2014-02-19 15:07 ` Jan Beulich
2014-02-19 17:26 ` Julien Grall
2014-02-20 20:48 ` Julien Grall
2014-02-21 8:55 ` Jan Beulich
2014-02-21 13:19 ` Julien Grall
2014-01-24 16:43 ` [PATCH for-4.5 7/8] xen/irq: Handle multiple action per IRQ Julien Grall
2014-02-19 11:55 ` Ian Campbell
2014-02-19 14:41 ` Julien Grall
2014-02-20 21:29 ` Julien Grall
2014-02-24 14:08 ` Julien Grall
2014-02-24 14:12 ` Ian Campbell
2014-02-24 14:32 ` Jan Beulich
2014-02-24 14:48 ` Julien Grall
2014-03-11 15:16 ` Julien Grall
2014-03-11 16:08 ` Jan Beulich
2014-03-17 19:06 ` Stefano Stabellini
2014-03-17 21:05 ` Julien Grall
2014-03-18 9:33 ` Ian Campbell
2014-03-18 12:26 ` Julien Grall
2014-03-18 14:06 ` Stefano Stabellini
2014-03-18 14:54 ` Julien Grall
2014-03-18 15:01 ` Stefano Stabellini
2014-03-18 15:21 ` Julien Grall
2014-03-18 15:39 ` Stefano Stabellini
2014-03-18 15:55 ` Julien Grall
2014-03-18 15:02 ` Ian Campbell
2014-03-18 15:08 ` Julien Grall
2014-03-18 15:10 ` Ian Campbell
2014-03-18 15:12 ` Julien Grall
2014-03-18 15:26 ` Ian Campbell
2014-03-19 17:18 ` Julien Grall
2014-03-21 14:06 ` Ian Campbell
2014-03-31 15:45 ` Julien Grall
2014-03-31 15:53 ` Ian Campbell
2014-03-31 16:02 ` Julien Grall
2014-04-01 12:29 ` Ian Campbell
2014-04-01 13:13 ` Julien Grall
2014-04-01 13:23 ` Ian Campbell
2014-04-01 13:52 ` Julien Grall
2014-04-01 14:31 ` Ian Campbell
2014-04-02 14:01 ` Julien Grall
2014-01-24 16:43 ` [PATCH for-4.5 8/8] xen/serial: remove serial_dt_irq Julien Grall
2014-02-19 11:55 ` Ian Campbell
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=5304C13C.5060505@linaro.org \
--to=julien.grall@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=patches@linaro.org \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.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.