Le Mon, Aug 05, 2024 at 11:01:22AM +0200, Peter Zijlstra a écrit : > On Fri, Aug 02, 2024 at 09:32:08PM -0700, Paul E. McKenney wrote: > > > Huh. One reason for the current smp_call_function_single() in > > cpuhp_report_idle_dead() was some ARM32 CPUs that shut down caching on > > their way out. this made it impossible to use shared-variable-based > > CPU-dead notification. I wonder if Arnd's deprecation schedule > > for ARM32-based platforms will allow us to go back to shared-memory > > notification, which might make this sort of thing easier. > > All those idle paths should be doing ct_cpuidle_enter(), which includes > telling RCU the CPU is going idle, no? > > I cleaned all that up a while back. On every architectures? That would be a good news, as we could then remove the CONFIG_TASKS_TRACE_RCU_READ_MB dance. There is still some vulnerable path on CPU hotplug down path once cpuhp_complete_idle_dead() is executed. The dead CPU may still call a bunch of general purpose functions (the exit path of smp_call_function_single() and the exit of cpuhp_report_idle_dead()). And this will become worse once we remove TASK-RUDE and rely only on rcutree_report_cpu_dead(). Thanks.