From: yangyingliang@huawei.com (Yang Yingliang)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v1 2/4] irqchip: GICv3: set non-percpu irqs status with _IRQ_MOVE_PCNTXT
Date: Mon, 7 Sep 2015 10:03:49 +0800 [thread overview]
Message-ID: <55ECF085.7020708@huawei.com> (raw)
In-Reply-To: <55EBD59B.4030405@linux.intel.com>
On 2015/9/6 13:56, Jiang Liu wrote:
> On 2015/9/6 12:23, Yang Yingliang wrote:
>> Use irq_settings_set_move_pcntxt() helper irqs status with
>> _IRQ_MOVE_PCNTXT. So that it can do set affinity when calling
>> irq_set_affinity_locked().
> Hi Yingliang,
> We could only set _IRQ_MOVE_PCNTCT flag to enable migrating
> IRQ in process context if your hardware platform supports atomically
> change IRQ configuration. Not sure whether that's true for GICv3.
> If GICv3 doesn't support atomically change irq configuration, this
> change may cause trouble.
> Thanks!
> Gerry
I am not certain sure if GICv3 supports it. But current code consider it
as true default without CONFIG_GENERIC_PENDING_IRQ enable on arm.
Does Marc have any opinion ?
Thanks
Yang
>
>>
>> Cc: Jiang Liu <jiang.liu@linux.intel.com>
>> Cc: Thomas Gleixner <tglx@linutronix.de>
>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: Will Deacon <will.deacon@arm.com>
>> Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
>> Cc: Hanjun Guo <hanjun.guo@linaro.org>
>> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
>> ---
>> drivers/irqchip/irq-gic-v3.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
>> index e406bc5..9108387 100644
>> --- a/drivers/irqchip/irq-gic-v3.c
>> +++ b/drivers/irqchip/irq-gic-v3.c
>> @@ -688,6 +688,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>> irq_domain_set_info(d, irq, hw, &gic_chip, d->host_data,
>> handle_fasteoi_irq, NULL, NULL);
>> set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
>> + irq_set_move_pcntxt(irq);
>> }
>> /* LPIs */
>> if (hw >= 8192 && hw < GIC_ID_NR) {
>> @@ -696,6 +697,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>> irq_domain_set_info(d, irq, hw, &gic_chip, d->host_data,
>> handle_fasteoi_irq, NULL, NULL);
>> set_irq_flags(irq, IRQF_VALID);
>> + irq_set_move_pcntxt(irq);
>> }
>>
>> return 0;
>>
>
> .
>
WARNING: multiple messages have this Message-ID (diff)
From: Yang Yingliang <yangyingliang@huawei.com>
To: Jiang Liu <jiang.liu@linux.intel.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Marc Zyngier <marc.zyngier@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Will Deacon <will.deacon@arm.com>,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
Hanjun Guo <hanjun.guo@linaro.org>
Subject: Re: [RFC PATCH v1 2/4] irqchip: GICv3: set non-percpu irqs status with _IRQ_MOVE_PCNTXT
Date: Mon, 7 Sep 2015 10:03:49 +0800 [thread overview]
Message-ID: <55ECF085.7020708@huawei.com> (raw)
In-Reply-To: <55EBD59B.4030405@linux.intel.com>
On 2015/9/6 13:56, Jiang Liu wrote:
> On 2015/9/6 12:23, Yang Yingliang wrote:
>> Use irq_settings_set_move_pcntxt() helper irqs status with
>> _IRQ_MOVE_PCNTXT. So that it can do set affinity when calling
>> irq_set_affinity_locked().
> Hi Yingliang,
> We could only set _IRQ_MOVE_PCNTCT flag to enable migrating
> IRQ in process context if your hardware platform supports atomically
> change IRQ configuration. Not sure whether that's true for GICv3.
> If GICv3 doesn't support atomically change irq configuration, this
> change may cause trouble.
> Thanks!
> Gerry
I am not certain sure if GICv3 supports it. But current code consider it
as true default without CONFIG_GENERIC_PENDING_IRQ enable on arm.
Does Marc have any opinion ?
Thanks
Yang
>
>>
>> Cc: Jiang Liu <jiang.liu@linux.intel.com>
>> Cc: Thomas Gleixner <tglx@linutronix.de>
>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: Will Deacon <will.deacon@arm.com>
>> Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
>> Cc: Hanjun Guo <hanjun.guo@linaro.org>
>> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
>> ---
>> drivers/irqchip/irq-gic-v3.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
>> index e406bc5..9108387 100644
>> --- a/drivers/irqchip/irq-gic-v3.c
>> +++ b/drivers/irqchip/irq-gic-v3.c
>> @@ -688,6 +688,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>> irq_domain_set_info(d, irq, hw, &gic_chip, d->host_data,
>> handle_fasteoi_irq, NULL, NULL);
>> set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
>> + irq_set_move_pcntxt(irq);
>> }
>> /* LPIs */
>> if (hw >= 8192 && hw < GIC_ID_NR) {
>> @@ -696,6 +697,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>> irq_domain_set_info(d, irq, hw, &gic_chip, d->host_data,
>> handle_fasteoi_irq, NULL, NULL);
>> set_irq_flags(irq, IRQF_VALID);
>> + irq_set_move_pcntxt(irq);
>> }
>>
>> return 0;
>>
>
> .
>
next prev parent reply other threads:[~2015-09-07 2:03 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-06 4:23 [RFC PATCH v1 0/4] arm/arm64: fix a migrating irq bug when hotplug cpu Yang Yingliang
2015-09-06 4:23 ` Yang Yingliang
2015-09-06 4:23 ` [RFC PATCH v1 1/4] genirq: Introduce irq_settings_set_move_pcntxt() helper Yang Yingliang
2015-09-06 4:23 ` Yang Yingliang
2015-09-06 22:08 ` Thomas Gleixner
2015-09-06 22:08 ` Thomas Gleixner
2015-09-07 1:49 ` Yang Yingliang
2015-09-07 1:49 ` Yang Yingliang
2015-09-06 4:23 ` [RFC PATCH v1 2/4] irqchip: GICv3: set non-percpu irqs status with _IRQ_MOVE_PCNTXT Yang Yingliang
2015-09-06 4:23 ` Yang Yingliang
2015-09-06 5:56 ` Jiang Liu
2015-09-06 5:56 ` Jiang Liu
2015-09-07 2:03 ` Yang Yingliang [this message]
2015-09-07 2:03 ` Yang Yingliang
2015-09-07 12:32 ` Marc Zyngier
2015-09-07 12:32 ` Marc Zyngier
2015-09-07 13:24 ` Thomas Gleixner
2015-09-07 13:24 ` Thomas Gleixner
2015-09-07 14:56 ` Marc Zyngier
2015-09-07 14:56 ` Marc Zyngier
2015-09-07 14:58 ` Thomas Gleixner
2015-09-07 14:58 ` Thomas Gleixner
2015-09-07 16:33 ` Jiang Liu
2015-09-07 16:33 ` Jiang Liu
2015-09-06 4:23 ` [RFC PATCH v1 3/4] genirq: rename config GENERIC_PENDING_IRQ to GENERIC_IRQ_MIGRATION Yang Yingliang
2015-09-06 4:23 ` Yang Yingliang
2015-09-06 4:23 ` [RFC PATCH v1 4/4] arm/arm64: fix a migrating irq bug when hotplug cpu Yang Yingliang
2015-09-06 4:23 ` Yang Yingliang
2015-09-06 5:55 ` Jiang Liu
2015-09-06 5:55 ` Jiang Liu
2015-09-07 2:33 ` Yang Yingliang
2015-09-07 2:33 ` Yang Yingliang
2015-09-06 8:07 ` [RFC PATCH v1 0/4] " Jiang Liu
2015-09-06 8:07 ` Jiang Liu
2015-09-07 2:54 ` Yang Yingliang
2015-09-07 2:54 ` Yang Yingliang
2015-09-07 1:54 ` Jiang Liu
2015-09-07 1:54 ` Jiang Liu
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=55ECF085.7020708@huawei.com \
--to=yangyingliang@huawei.com \
--cc=linux-arm-kernel@lists.infradead.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.