On Wed, 24 Apr 2024 17:35:54 +0100 Salil Mehta <salil.mehta@xxxxxxxxxx> wrote: > > From: Marc Zyngier <maz@xxxxxxxxxx> > > Sent: Wednesday, April 24, 2024 4:33 PM > > To: Jonathan Cameron <jonathan.cameron@xxxxxxxxxx> > > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>; Peter Zijlstra > > <peterz@xxxxxxxxxxxxx>; linux-pm@xxxxxxxxxxxxxxx; > > loongarch@xxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; linux- > > arch@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-arm- > > kernel@xxxxxxxxxxxxxxxxxxx; kvmarm@xxxxxxxxxxxxxxx; x86@xxxxxxxxxx; > > Russell King <linux@xxxxxxxxxxxxxxx>; Rafael J . Wysocki > > <rafael@xxxxxxxxxx>; Miguel Luis <miguel.luis@xxxxxxxxxx>; James Morse > > <james.morse@xxxxxxx>; Salil Mehta <salil.mehta@xxxxxxxxxx>; Jean- > > Philippe Brucker <jean-philippe@xxxxxxxxxx>; Catalin Marinas > > <catalin.marinas@xxxxxxx>; Will Deacon <will@xxxxxxxxxx>; Linuxarm > > <linuxarm@xxxxxxxxxx>; Ingo Molnar <mingo@xxxxxxxxxx>; Borislav > > Petkov <bp@xxxxxxxxx>; Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>; > > justin.he@xxxxxxx; jianyong.wu@xxxxxxx > > Subject: Re: [PATCH v7 11/16] irqchip/gic-v3: Add support for ACPI's > > disabled but 'online capable' CPUs > > > > On Wed, 24 Apr 2024 13:54:38 +0100, > > Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote: > > > > > > On Tue, 23 Apr 2024 13:01:21 +0100 > > > Marc Zyngier <maz@xxxxxxxxxx> wrote: > > > > > > > On Mon, 22 Apr 2024 11:40:20 +0100, > > > > Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote: > > > > > > > > > > On Thu, 18 Apr 2024 14:54:07 +0100 Jonathan Cameron > > > > > <Jonathan.Cameron@xxxxxxxxxx> wrote: > > > > [...] > > > > > > > > > > > > > + /* > > > > > > + * Capable but disabled CPUs can be brought online later. What about > > > > > > + * the redistributor? ACPI doesn't want to say! > > > > > > + * Virtual hotplug systems can use the MADT's "always-on" GICR entries. > > > > > > + * Otherwise, prevent such CPUs from being brought online. > > > > > > + */ > > > > > > + if (!(gicc->flags & ACPI_MADT_ENABLED)) { > > > > > > + pr_warn_once("CPU %u's redistributor is inaccessible: this CPU can't be brought online\n", cpu); > > > > > > + set_cpu_present(cpu, false); > > > > > > + set_cpu_possible(cpu, false); > > (a digression) shouldn't we be clearing the enabled mask as well? > > set_cpu_enabled(cpu, false); FWIW I think not necessary. enabled is only set in register_cpu() and aim here is to never call that for CPUs in this state. Anyhow, I got distracted by the firmware bug I found whilst trying to test this but now have a test setup that hits this path (once deliberately broken), so will see what we can do about that doesn't have affect those masks. Jonathan > > > Best regards > Salil