[PATCH] GICv3: Add restart handler to detach CPU from GICv3

Joakim Tjernlund Joakim.Tjernlund at infinera.com
Wed Jan 4 09:23:42 PST 2023


On Wed, 2023-01-04 at 16:50 +0000, Marc Zyngier wrote:
> On Wed, 04 Jan 2023 16:04:14 +0000,
> Mark Rutland <mark.rutland at arm.com> wrote:
> > 
> > On Tue, Jan 03, 2023 at 04:27:07PM +0000, Joakim Tjernlund wrote:
> > > On Fri, 2022-12-16 at 17:21 +0100, Joakim Tjernlund wrote:
> > > 
> > > Ping?
> > 
> > To whom?
> > 
> > You don't appeared to have Cc'd any relevant maintainer, and people are still
> > on holiday, so it's extremely likely this will be missed.
> 
> That, plus nobody reads the list looking for this sort of things.
> 
> > 
> > For the maintainer, please use scripts/get_maintainer.pl, e.g.
> > 
> > > [mark at lakrids:~/src/linux]% ./scripts/get_maintainer.pl -f drivers/irqchip/irq-gic-v3.c
> > > Thomas Gleixner <tglx at linutronix.de> (maintainer:IRQCHIP DRIVERS)
> > > Marc Zyngier <maz at kernel.org> (maintainer:IRQCHIP DRIVERS)
> > > linux-kernel at vger.kernel.org (open list:IRQCHIP DRIVERS)
> > 
> > Note: I've Cc'd Marc, who wrote the GICv3 driver.
> 
> Cheers Mark, much appreciated.

Sorry for missing that extra maintainer CC:

> 
> > 
> > > > Needed for reboot without resetting the whole GIC
> > 
> > This doesn't really explain what you're trying to do nor why.
> > 
> > Why do you need to "reboot without resetting the whole GIC" ?
> > 
> > Do you encounter a problem if we try to reset the whole GIC?
> > 
> > Is this for kexec?
> > 
> > Is this for some use-case enabled by out-of-tree code?
> 
> All valid questions. This smells of a terrible hack...

Yes, all god Q's.

> 
> The interesting aspect is that this is only done when DS=1, probably
> meaning that they are doing this in a VM. it also rely on some

Nope, on our custom target.

> (unbounded) UNPRED behaviour as ProcessorSleep is entered without
> any consideration for Group0... Good luck with that.

hmm, I am doing the same as PM does which also needs DS=1 so I figured
this was uncontroversial. 

> 
> Anyway, I don't think we want any of this stuff. Certainly not without
> a cast-iron justification.

We use several cores but only one run Linux so a Linux reboot will
only reset its own core.

Without this patch I either need to reset the GIC as part of the reboot or
I get RWP timeout when linux starts again. Resetting the GIC kills IRQ on the other cores
for a long time which is unwanted.

The RWP timeout comes from lost HW handshake between core and GIC.
Is there another way to regain the HW handshake ?

 Jocke




More information about the linux-arm-kernel mailing list