在 2020/7/25 下午4:57, Greg KH 写道:
On Sat, Jul 25, 2020 at 04:29:28PM +0800, Huacai Chen wrote:
Hi, Greg,
On Sat, Jul 25, 2020 at 3:45 PM Greg KH gregkh@linuxfoundation.org wrote:
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?
Yes, someone who meet the same problem report a bug to LTP, and LTP maintainer said that this should be fixed in kernel.
So the action _always_ has to succeed and can never return an error? That feels wrong even for normal systems.
If that returns error then it means kernel's hotplug function is not working as expected. Thus, LTP as a testsuit will consider the error as a indicator of malfunction kernel.
Thanks
- Jiaxun
thanks,
greg k-h