Re: [PATCH V2] MIPS: CPU#0 is not hotpluggable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx> 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?


> >
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
> > ---
> >  arch/mips/kernel/topology.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/mips/kernel/topology.c b/arch/mips/kernel/topology.c
> > index cd3e1f8..08ad637 100644
> > --- a/arch/mips/kernel/topology.c
> > +++ b/arch/mips/kernel/topology.c
> > @@ -20,7 +20,7 @@ static int __init topology_init(void)
> >         for_each_present_cpu(i) {
> >                 struct cpu *c = &per_cpu(cpu_devices, i);
> >
> > -               c->hotpluggable = 1;
> > +               c->hotpluggable = !!i;

Seems to be the same as what xtensa did, so it's probably not a big
deal.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux