Re: [RFC PATCH 49/49] ARM: mm: Move CPUHP_AP_ARM_CACHE_B15_RAC_DYING post stop_machine()

From: Frederic Weisbecker

Date: Wed Oct 28 2026 - 11:37:22 EST


Le Fri, Oct 23, 2026 at 10:05:30AM -0700, Florian Fainelli a écrit :
> On 10/19/26 06:08, Frederic Weisbecker wrote:
> > Between CPUHP_TEARDOWN_CPU and CPUHP_AP_OFFLINE, stop_machine executes
> > all the teardown callbacks while stopping all CPUs in the system. This
> > doesn't mix-up well with running RT or isolated tasks.
> >
> > In order to transition smoothly from global stop_machine to finer
> > grained synchronization between teardown callbacks and the other CPUs,
> > a new stop machine post function has been introduced to be executed
> > after the main one with IRQs still disabled while other CPUs can exit
> > stop_machine().
> >
> > It *looks ok* to disable the cache readahead globally while the other
> > CPUs are running.
>
> Yes I think it is safe given that b15_rac_dying_cpu() will run on the dying
> CPU and any CPU that is left will basically re-enable the RAC afterwards if
> necessary in b15_rac_dead_cpu().

Good.

>
> The hardware to test this is quite ancient, but if you give me a test case
> to exercise, I can give it a spin.

I don't have the hardware either. Otherwise the only test I can think of is
to simply shutdown a CPU and see if that explodes.

Thanks!

>
> Thank you Frederic!
> --
> Florian

--
Frederic Weisbecker
SUSE Labs