On 10/19/21 11:50 AM, Peter Zijlstra wrote: >>> diff --git a/kernel/smp.c b/kernel/smp.c >>> index ad0b68a3a3d3..61ddc7a3bafa 100644 >>> --- a/kernel/smp.c >>> +++ b/kernel/smp.c >>> @@ -1170,14 +1170,12 @@ void wake_up_all_idle_cpus(void) >>> { >>> int cpu; >>> >>> - cpus_read_lock(); >>> - for_each_online_cpu(cpu) { >>> - if (cpu == raw_smp_processor_id()) >>> - continue; >>> - >>> - wake_up_if_idle(cpu); >>> + for_each_cpu(cpu) { >>> + preempt_disable(); >>> + if (cpu != smp_processor_id() && cpu_online(cpu)) >>> + wake_up_if_idle(cpu); >>> + preempt_enable(); >>> } >>> - cpus_read_unlock(); >>> } >>> EXPORT_SYMBOL_GPL(wake_up_all_idle_cpus); >> >> This does not compile. >> >> kernel/smp.c:1173:18: error: macro "for_each_cpu" requires 2 arguments, but only 1 given > > Bah, for_each_possible_cpu(), lemme update the patch, I'm sure the > robots will scream bloody murder on that too. This survived the regression tests here.