From: yangyingliang@huawei.com (Yang Yingliang)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v2 1/3] irqchip: GICv3: set non-percpu irqs status with IRQ_MOVE_PCNTXT
Date: Tue, 15 Sep 2015 11:07:33 +0800 [thread overview]
Message-ID: <55F78B75.1020105@huawei.com> (raw)
In-Reply-To: <55F6C2B2.2060808@arm.com>
On 2015/9/14 20:50, Marc Zyngier wrote:
> On 14/09/15 10:29, Yang Yingliang wrote:
>> Use irq_set_status_flags() helper set irqs status with
>> IRQ_MOVE_PCNTXT. So that it can do set affinity when
>> calling irq_set_affinity_locked().
>>
>> 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>
>> 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 7deed6e..3d8f400 100644
>> --- a/drivers/irqchip/irq-gic-v3.c
>> +++ b/drivers/irqchip/irq-gic-v3.c
>> @@ -761,6 +761,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>> irq_domain_set_info(d, irq, hw, chip, d->host_data,
>> handle_fasteoi_irq, NULL, NULL);
>> set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
>> + irq_set_status_flags(irq, IRQ_MOVE_PCNTXT);
>> }
>> /* LPIs */
>> if (hw >= 8192 && hw < GIC_ID_NR) {
>> @@ -769,6 +770,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>> irq_domain_set_info(d, irq, hw, chip, d->host_data,
>> handle_fasteoi_irq, NULL, NULL);
>> set_irq_flags(irq, IRQF_VALID);
>> + irq_set_status_flags(irq, IRQ_MOVE_PCNTXT);
>> }
>>
>> return 0;
>>
>
> I'm still not keen on this approach. As far as I can tell, the only
> reason you are setting this flag is to be able to use
> GENERIC_PENDING_IRQ. irq_set_affinity_locked would work even if you
> don't select this config option, because irq_can_move_pcntxt() will
> always return true if this is not selected.
>
> So instead of adding flags that are not required on ARM, why don't you
> just make migration.c to compile even when GENERIC_PENDING_IRQ is not
> selected? I think this would make a lot more sense.
OK, I will try this way.
Thanks,
Yang
>
> Thanks,
>
> M.
>
WARNING: multiple messages have this Message-ID (diff)
From: Yang Yingliang <yangyingliang@huawei.com>
To: Marc Zyngier <marc.zyngier@arm.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Cc: Jiang Liu <jiang.liu@linux.intel.com>,
Thomas Gleixner <tglx@linutronix.de>,
Mark Rutland <mark.rutland@arm.com>,
Will Deacon <will.deacon@arm.com>,
Russell King - ARM Linux <linux@arm.linux.org.uk>
Subject: Re: [RFC PATCH v2 1/3] irqchip: GICv3: set non-percpu irqs status with IRQ_MOVE_PCNTXT
Date: Tue, 15 Sep 2015 11:07:33 +0800 [thread overview]
Message-ID: <55F78B75.1020105@huawei.com> (raw)
In-Reply-To: <55F6C2B2.2060808@arm.com>
On 2015/9/14 20:50, Marc Zyngier wrote:
> On 14/09/15 10:29, Yang Yingliang wrote:
>> Use irq_set_status_flags() helper set irqs status with
>> IRQ_MOVE_PCNTXT. So that it can do set affinity when
>> calling irq_set_affinity_locked().
>>
>> 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>
>> 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 7deed6e..3d8f400 100644
>> --- a/drivers/irqchip/irq-gic-v3.c
>> +++ b/drivers/irqchip/irq-gic-v3.c
>> @@ -761,6 +761,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>> irq_domain_set_info(d, irq, hw, chip, d->host_data,
>> handle_fasteoi_irq, NULL, NULL);
>> set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
>> + irq_set_status_flags(irq, IRQ_MOVE_PCNTXT);
>> }
>> /* LPIs */
>> if (hw >= 8192 && hw < GIC_ID_NR) {
>> @@ -769,6 +770,7 @@ static int gic_irq_domain_map(struct irq_domain *d, unsigned int irq,
>> irq_domain_set_info(d, irq, hw, chip, d->host_data,
>> handle_fasteoi_irq, NULL, NULL);
>> set_irq_flags(irq, IRQF_VALID);
>> + irq_set_status_flags(irq, IRQ_MOVE_PCNTXT);
>> }
>>
>> return 0;
>>
>
> I'm still not keen on this approach. As far as I can tell, the only
> reason you are setting this flag is to be able to use
> GENERIC_PENDING_IRQ. irq_set_affinity_locked would work even if you
> don't select this config option, because irq_can_move_pcntxt() will
> always return true if this is not selected.
>
> So instead of adding flags that are not required on ARM, why don't you
> just make migration.c to compile even when GENERIC_PENDING_IRQ is not
> selected? I think this would make a lot more sense.
OK, I will try this way.
Thanks,
Yang
>
> Thanks,
>
> M.
>
next prev parent reply other threads:[~2015-09-15 3:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-14 9:29 [RFC PATCH v2 0/3] arm/arm64: fix a migrating irq bug when hotplug cpu Yang Yingliang
2015-09-14 9:29 ` Yang Yingliang
2015-09-14 9:29 ` [RFC PATCH v2 1/3] irqchip: GICv3: set non-percpu irqs status with IRQ_MOVE_PCNTXT Yang Yingliang
2015-09-14 9:29 ` Yang Yingliang
2015-09-14 12:50 ` Marc Zyngier
2015-09-14 12:50 ` Marc Zyngier
2015-09-15 3:07 ` Yang Yingliang [this message]
2015-09-15 3:07 ` Yang Yingliang
2015-09-14 9:29 ` [RFC PATCH v2 2/3] genirq: rename config GENERIC_PENDING_IRQ to GENERIC_IRQ_MIGRATION Yang Yingliang
2015-09-14 9:29 ` Yang Yingliang
2015-09-14 9:29 ` [RFC PATCH v2 3/3] arm/arm64: fix a migrating irq bug when hotplug cpu Yang Yingliang
2015-09-14 9:29 ` Yang Yingliang
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=55F78B75.1020105@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.