lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Tue, 15 Dec 2020 12:10:31 +0800
From:   Tiezhu Yang <yangtiezhu@...ngson.cn>
To:     "liwei (GF)" <liwei391@...wei.com>,
        Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
        Huacai Chen <chenhc@...ote.com>,
        Jiaxun Yang <jiaxun.yang@...goat.com>,
        Florian Fainelli <f.fainelli@...il.com>
Cc:     linux-mips@...r.kernel.org, bcm-kernel-feedback-list@...adcom.com,
        linux-kernel@...r.kernel.org, Xuefeng Li <lixuefeng@...ngson.cn>
Subject: Re: [PATCH] MIPS: No need to check CPU 0 in
 {loongson3,bmips,octeon}_cpu_disable()

On 12/15/2020 11:26 AM, liwei (GF) wrote:
> Hi,
>
> On 2020/11/25 18:11, Tiezhu Yang wrote:
>> After commit 9cce844abf07 ("MIPS: CPU#0 is not hotpluggable"),
> Why CPU#0 is not hotpluggable on MIPS? Does that unrealizable?

The early discussion is here:
https://patchwork.kernel.org/project/linux-mips/patch/1594896024-16624-1-git-send-email-chenhc@lemote.com/

As Jiaxun said, it seems that this is a software limitation.
I think the initial aim of commit 9cce844abf07 ("MIPS: CPU#0 is not 
hotpluggable")
is to solve ltp test failure.

>
>> c->hotpluggable is 0 for CPU 0 and it will not generate a control
>> file in sysfs for this CPU:
>>
>> [root@...ux loongson]# cat /sys/devices/system/cpu/cpu0/online
>> cat: /sys/devices/system/cpu/cpu0/online: No such file or directory
>> [root@...ux loongson]# echo 0 > /sys/devices/system/cpu/cpu0/online
>> bash: /sys/devices/system/cpu/cpu0/online: Permission denied
>>
>> So no need to check CPU 0 in {loongson3,bmips,octeon}_cpu_disable(),
> missing cps_cpu_disable()?

Yes, thank you, let me send a patch to do it.

Thanks,
Tiezhu

>
> Thanks,
> Wei
>
>> just remove them.
>>
>> Signed-off-by: Tiezhu Yang <yangtiezhu@...ngson.cn>
>> ---
>>   arch/mips/cavium-octeon/smp.c | 3 ---
>>   arch/mips/kernel/smp-bmips.c  | 3 ---
>>   arch/mips/loongson64/smp.c    | 3 ---
>>   3 files changed, 9 deletions(-)
>>
>> diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c
>> index 076db9a..66ce552 100644
>> --- a/arch/mips/cavium-octeon/smp.c
>> +++ b/arch/mips/cavium-octeon/smp.c
>> @@ -290,9 +290,6 @@ static int octeon_cpu_disable(void)
>>   {
>>   	unsigned int cpu = smp_processor_id();
>>   
>> -	if (cpu == 0)
>> -		return -EBUSY;
>> -
>>   	if (!octeon_bootloader_entry_addr)
>>   		return -ENOTSUPP;
>>   
>> diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
>> index 1dbfb5a..359b176 100644
>> --- a/arch/mips/kernel/smp-bmips.c
>> +++ b/arch/mips/kernel/smp-bmips.c
>> @@ -362,9 +362,6 @@ static int bmips_cpu_disable(void)
>>   {
>>   	unsigned int cpu = smp_processor_id();
>>   
>> -	if (cpu == 0)
>> -		return -EBUSY;
>> -
>>   	pr_info("SMP: CPU%d is offline\n", cpu);
>>   
>>   	set_cpu_online(cpu, false);
>> diff --git a/arch/mips/loongson64/smp.c b/arch/mips/loongson64/smp.c
>> index aa0cd72..b8c1fc3 100644
>> --- a/arch/mips/loongson64/smp.c
>> +++ b/arch/mips/loongson64/smp.c
>> @@ -544,9 +544,6 @@ static int loongson3_cpu_disable(void)
>>   	unsigned long flags;
>>   	unsigned int cpu = smp_processor_id();
>>   
>> -	if (cpu == 0)
>> -		return -EBUSY;
>> -
>>   	set_cpu_online(cpu, false);
>>   	calculate_cpu_foreign_map();
>>   	local_irq_save(flags);
>>

Powered by blists - more mailing lists