Re: [PATCH RFC v2] reboot: hotplug cpus in migrate_to_reboot_cpu()

From: Thomas Gleixner
Date: Thu Jan 09 2020 - 15:15:55 EST


Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx> writes:

> @@ -220,8 +221,6 @@ void migrate_to_reboot_cpu(void)
> /* The boot cpu is always logical cpu 0 */
> int cpu = reboot_cpu;
>
> - cpu_hotplug_disable();
> -
> /* Make certain the cpu I'm about to reboot on is online */
> if (!cpu_online(cpu))
> cpu = cpumask_first(cpu_online_mask);
> @@ -231,6 +230,11 @@ void migrate_to_reboot_cpu(void)
>
> /* Make certain I only run on the appropriate processor */
> set_cpus_allowed_ptr(current, cpumask_of(cpu));
> +
> + /* Hotplug other cpus if possible */
> +#ifdef CONFIG_HOTPLUG_CPU
> + offline_secondary_cpus(cpu);
> +#endif

In general I like the idea, but shouldn't this remove the architecture
code as a follow up?

Also this needs to be explicitely enabled per architecture (opt-in) and
not as an unconditional operation for all architectures which support
CPU hotplug.

Thanks,

tglx