On Sat, Jul 25, 2020 at 02:57:31PM +0800, Huacai Chen wrote:
Hi Greg,
On Sat, Jul 25, 2020 at 2:49 PM Greg KH gregkh@linuxfoundation.org wrote:
On Sat, Jul 25, 2020 at 02:37:52PM +0800, Huacai Chen wrote:
Hi, Thomas,
What do you think about this patch? Other archs also do the same thing except those support hotplug CPU#0.
grep hotpluggable arch -rwI arch/riscv/kernel/setup.c: cpu->hotpluggable = cpu_has_hotplug(i); arch/powerpc/kernel/sysfs.c: BUG_ON(!c->hotpluggable); arch/powerpc/kernel/sysfs.c: c->hotpluggable = 1; arch/powerpc/kernel/sysfs.c: if (cpu_online(cpu) || c->hotpluggable) { arch/arm/kernel/setup.c: cpuinfo->cpu.hotpluggable = platform_can_hotplug_cpu(cpu); arch/sh/kernel/topology.c: c->hotpluggable = 1; arch/ia64/kernel/topology.c: * CPEI target, then it is hotpluggable arch/ia64/kernel/topology.c: sysfs_cpus[num].cpu.hotpluggable = 1; arch/xtensa/kernel/setup.c: cpu->hotpluggable = !!i; arch/s390/kernel/smp.c: c->hotpluggable = 1; arch/mips/kernel/topology.c: c->hotpluggable = 1; arch/arm64/kernel/cpuinfo.c: * In case the boot CPU is hotpluggable, we record its initial state and arch/arm64/kernel/setup.c: cpu->hotpluggable = cpu_can_disable(i); arch/x86/kernel/topology.c: per_cpu(cpu_devices, num).cpu.hotpluggable = 1;
On Thu, Jul 16, 2020 at 6:38 PM Huacai Chen chenhc@lemote.com wrote:
Now CPU#0 is not hotpluggable on MIPS, so prevent to create /sys/devices /system/cpu/cpu0/online which confuses some user-space tools.
What userspace tools are confused by this? They should be able to handle a cpu not being able to be removed, right?
It causes ltp's "hotplug" test fails, and ltp considers CPUs with a "online" node be hotpluggable.
Is that always true?