All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations
@ 2016-09-09 13:44 Fabio Estevam
  2016-09-09 14:40 ` Marc Zyngier
  0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2016-09-09 13:44 UTC (permalink / raw)
  To: stable; +Cc: marc.zyngier, Fabio Estevam

From: Marc Zyngier <marc.zyngier@arm.com>

commit 059e232089e45b0befc9933d31209c225e08b426 upstream.

On systems where a single CPU is present, the GIC may not support
having SGIs delivered to a target list. In that case, we use the
self-SGI mechanism to allow the interrupt to be delivered locally.

Cc: <stable@vger.kernel.org> # 4.7.x
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
Changes since v1:
- Add the 4.7.x notation

 drivers/irqchip/irq-gic.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index c2cab57..390fac5 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -769,6 +769,13 @@ static void gic_raise_softirq(const struct cpumask *mask, unsigned int irq)
 	int cpu;
 	unsigned long flags, map = 0;
 
+	if (unlikely(nr_cpu_ids == 1)) {
+		/* Only one CPU? let's do a self-IPI... */
+		writel_relaxed(2 << 24 | irq,
+			       gic_data_dist_base(&gic_data[0]) + GIC_DIST_SOFTINT);
+		return;
+	}
+
 	raw_spin_lock_irqsave(&irq_controller_lock, flags);
 
 	/* Convert our logical CPU mask into a physical one. */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations
  2016-09-09 13:44 [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations Fabio Estevam
@ 2016-09-09 14:40 ` Marc Zyngier
  2016-09-09 15:31   ` Fabio Estevam
  0 siblings, 1 reply; 8+ messages in thread
From: Marc Zyngier @ 2016-09-09 14:40 UTC (permalink / raw)
  To: Fabio Estevam, stable; +Cc: Fabio Estevam

Hi Fabio,

On 09/09/16 14:44, Fabio Estevam wrote:
> From: Marc Zyngier <marc.zyngier@arm.com>
> 
> commit 059e232089e45b0befc9933d31209c225e08b426 upstream.
> 
> On systems where a single CPU is present, the GIC may not support
> having SGIs delivered to a target list. In that case, we use the
> self-SGI mechanism to allow the interrupt to be delivered locally.
> 
> Cc: <stable@vger.kernel.org> # 4.7.x
> Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>

I'm sorry, but what is the justification for this to be backported to a
stable kernel? It is not a regression, since we never supported this
kind of HW before. This is not a workaround for an erratum either.

If that was a kernel bug, why not backport it all the way the the oldest
stable, instead of limiting it to v4.7?

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations
  2016-09-09 14:40 ` Marc Zyngier
@ 2016-09-09 15:31   ` Fabio Estevam
  2016-09-09 15:42     ` Marc Zyngier
  0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2016-09-09 15:31 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: stable, Fabio Estevam

Hi Marc,

On Fri, Sep 9, 2016 at 11:40 AM, Marc Zyngier <marc.zyngier@arm.com> wrote:
> Hi Fabio,
>
> On 09/09/16 14:44, Fabio Estevam wrote:
>> From: Marc Zyngier <marc.zyngier@arm.com>
>>
>> commit 059e232089e45b0befc9933d31209c225e08b426 upstream.
>>
>> On systems where a single CPU is present, the GIC may not support
>> having SGIs delivered to a target list. In that case, we use the
>> self-SGI mechanism to allow the interrupt to be delivered locally.
>>
>> Cc: <stable@vger.kernel.org> # 4.7.x
>> Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
>> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
>
> I'm sorry, but what is the justification for this to be backported to a
> stable kernel? It is not a regression, since we never supported this

Without this patch imx6ul SoC hangs after a 'reboot' command.

> kind of HW before. This is not a workaround for an erratum either.
>
> If that was a kernel bug, why not backport it all the way the the oldest
> stable, instead of limiting it to v4.7?

I can send it to 4.4 as well, if you agree.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations
  2016-09-09 15:31   ` Fabio Estevam
@ 2016-09-09 15:42     ` Marc Zyngier
  2016-09-09 15:48       ` Fabio Estevam
  0 siblings, 1 reply; 8+ messages in thread
From: Marc Zyngier @ 2016-09-09 15:42 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: stable, Fabio Estevam

On 09/09/16 16:31, Fabio Estevam wrote:
> Hi Marc,
> 
> On Fri, Sep 9, 2016 at 11:40 AM, Marc Zyngier <marc.zyngier@arm.com> wrote:
>> Hi Fabio,
>>
>> On 09/09/16 14:44, Fabio Estevam wrote:
>>> From: Marc Zyngier <marc.zyngier@arm.com>
>>>
>>> commit 059e232089e45b0befc9933d31209c225e08b426 upstream.
>>>
>>> On systems where a single CPU is present, the GIC may not support
>>> having SGIs delivered to a target list. In that case, we use the
>>> self-SGI mechanism to allow the interrupt to be delivered locally.
>>>
>>> Cc: <stable@vger.kernel.org> # 4.7.x
>>> Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
>>> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>>> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
>>
>> I'm sorry, but what is the justification for this to be backported to a
>> stable kernel? It is not a regression, since we never supported this
> 
> Without this patch imx6ul SoC hangs after a 'reboot' command.

But that's not a regression, right? It *never* worked before, as far as
I know, because we never supported such a configuration in the past.

I'm a bit concerned when I see backporting random patches to random
kernel versions for things that are not bugs. I'll leave it up to Greg
to decide, but I thought I should point out what this patch actually is.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations
  2016-09-09 15:42     ` Marc Zyngier
@ 2016-09-09 15:48       ` Fabio Estevam
  2016-09-09 16:06         ` Marc Zyngier
  2016-09-09 16:10         ` Greg KH
  0 siblings, 2 replies; 8+ messages in thread
From: Fabio Estevam @ 2016-09-09 15:48 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: stable, Fabio Estevam

Hi Marc,

On Fri, Sep 9, 2016 at 12:42 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:

>> Without this patch imx6ul SoC hangs after a 'reboot' command.
>
> But that's not a regression, right? It *never* worked before, as far as
> I know, because we never supported such a configuration in the past.

imx6ul is supported since kernel 4.3.

> I'm a bit concerned when I see backporting random patches to random
> kernel versions for things that are not bugs. I'll leave it up to Greg
> to decide, but I thought I should point out what this patch actually is.

Not bugs? I consider the hang I get after running 'reboot' on imx6ul a bug.

According to Documentation/stable_kernel_rules.txt :

" - It must fix a problem that causes a build error (but not for things
   marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
   security issue, or some "oh, that's not good" issue.  In short, something
   critical. "

, so that's why I submitted for stable inclusion.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations
  2016-09-09 15:48       ` Fabio Estevam
@ 2016-09-09 16:06         ` Marc Zyngier
  2016-09-09 16:12           ` Greg KH
  2016-09-09 16:10         ` Greg KH
  1 sibling, 1 reply; 8+ messages in thread
From: Marc Zyngier @ 2016-09-09 16:06 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: stable, Fabio Estevam

On 09/09/16 16:48, Fabio Estevam wrote:
> Hi Marc,
> 
> On Fri, Sep 9, 2016 at 12:42 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:
> 
>>> Without this patch imx6ul SoC hangs after a 'reboot' command.
>>
>> But that's not a regression, right? It *never* worked before, as far as
>> I know, because we never supported such a configuration in the past.
> 
> imx6ul is supported since kernel 4.3.

And yet nobody reported this as an issue until the 4.8 cycle. So it
doesn't look like it was annoying anyone until then.

> 
>> I'm a bit concerned when I see backporting random patches to random
>> kernel versions for things that are not bugs. I'll leave it up to Greg
>> to decide, but I thought I should point out what this patch actually is.
> 
> Not bugs? I consider the hang I get after running 'reboot' on imx6ul a bug.
> 
> According to Documentation/stable_kernel_rules.txt :
> 
> " - It must fix a problem that causes a build error (but not for things
>    marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
>    security issue, or some "oh, that's not good" issue.  In short, something
>    critical. "
> 
> , so that's why I submitted for stable inclusion.
> 

I don't, which is why I didn't tag it for stable the first place. I
consider this as an unsupported configuration (MP CPU on a UP GIC),
which we start supporting from 4.8 onward.

Anyway, I'm not going to argue any further for such a small patch, but
I've made my position clear.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations
  2016-09-09 15:48       ` Fabio Estevam
  2016-09-09 16:06         ` Marc Zyngier
@ 2016-09-09 16:10         ` Greg KH
  1 sibling, 0 replies; 8+ messages in thread
From: Greg KH @ 2016-09-09 16:10 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: Marc Zyngier, stable, Fabio Estevam

On Fri, Sep 09, 2016 at 12:48:34PM -0300, Fabio Estevam wrote:
> Hi Marc,
> 
> On Fri, Sep 9, 2016 at 12:42 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:
> 
> >> Without this patch imx6ul SoC hangs after a 'reboot' command.
> >
> > But that's not a regression, right? It *never* worked before, as far as
> > I know, because we never supported such a configuration in the past.
> 
> imx6ul is supported since kernel 4.3.
> 
> > I'm a bit concerned when I see backporting random patches to random
> > kernel versions for things that are not bugs. I'll leave it up to Greg
> > to decide, but I thought I should point out what this patch actually is.
> 
> Not bugs? I consider the hang I get after running 'reboot' on imx6ul a bug.
> 
> According to Documentation/stable_kernel_rules.txt :
> 
> " - It must fix a problem that causes a build error (but not for things
>    marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
>    security issue, or some "oh, that's not good" issue.  In short, something
>    critical. "
> 
> , so that's why I submitted for stable inclusion.

But if it never worked to start with, that's not really a regression,
that is a "make new hardware work" type thing.

Did it work properly in 4.3?  What caused support for this hardware to
break?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations
  2016-09-09 16:06         ` Marc Zyngier
@ 2016-09-09 16:12           ` Greg KH
  0 siblings, 0 replies; 8+ messages in thread
From: Greg KH @ 2016-09-09 16:12 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: Fabio Estevam, stable, Fabio Estevam

On Fri, Sep 09, 2016 at 05:06:02PM +0100, Marc Zyngier wrote:
> On 09/09/16 16:48, Fabio Estevam wrote:
> > Hi Marc,
> > 
> > On Fri, Sep 9, 2016 at 12:42 PM, Marc Zyngier <marc.zyngier@arm.com> wrote:
> > 
> >>> Without this patch imx6ul SoC hangs after a 'reboot' command.
> >>
> >> But that's not a regression, right? It *never* worked before, as far as
> >> I know, because we never supported such a configuration in the past.
> > 
> > imx6ul is supported since kernel 4.3.
> 
> And yet nobody reported this as an issue until the 4.8 cycle. So it
> doesn't look like it was annoying anyone until then.
> 
> > 
> >> I'm a bit concerned when I see backporting random patches to random
> >> kernel versions for things that are not bugs. I'll leave it up to Greg
> >> to decide, but I thought I should point out what this patch actually is.
> > 
> > Not bugs? I consider the hang I get after running 'reboot' on imx6ul a bug.
> > 
> > According to Documentation/stable_kernel_rules.txt :
> > 
> > " - It must fix a problem that causes a build error (but not for things
> >    marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
> >    security issue, or some "oh, that's not good" issue.  In short, something
> >    critical. "
> > 
> > , so that's why I submitted for stable inclusion.
> > 
> 
> I don't, which is why I didn't tag it for stable the first place. I
> consider this as an unsupported configuration (MP CPU on a UP GIC),
> which we start supporting from 4.8 onward.
> 
> Anyway, I'm not going to argue any further for such a small patch, but
> I've made my position clear.

As the maintainer wants this removed, I've now dropped it from the
4.7-stable queue.

Fabio, just use 4.8 on this hardware and you should be fine.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-09-09 16:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-09 13:44 [PATCH v2] irqchip/gic: Allow self-SGIs for SMP on UP configurations Fabio Estevam
2016-09-09 14:40 ` Marc Zyngier
2016-09-09 15:31   ` Fabio Estevam
2016-09-09 15:42     ` Marc Zyngier
2016-09-09 15:48       ` Fabio Estevam
2016-09-09 16:06         ` Marc Zyngier
2016-09-09 16:12           ` Greg KH
2016-09-09 16:10         ` Greg KH

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.