* [PATCH] arm64: Support hard limit of cpu count by nr_cpus
@ 2016-08-05 6:03 Kefeng Wang
2016-08-05 8:32 ` Will Deacon
0 siblings, 1 reply; 11+ messages in thread
From: Kefeng Wang @ 2016-08-05 6:03 UTC (permalink / raw)
To: linux-arm-kernel
Enable the hard limit of cpu count by nr_cpus on arm64.
The code is borrowed from MIPS.
Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
arch/arm64/kernel/setup.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 536dce2..597b777 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -224,6 +224,21 @@ static void __init request_standard_resources(void)
u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
+static void __init prefill_possible_map(void)
+{
+ int i, possible = num_possible_cpus();
+
+ if (possible > nr_cpu_ids)
+ possible = nr_cpu_ids;
+
+ for (i = 0; i < possible; i++)
+ set_cpu_possible(i, true);
+ for (; i < NR_CPUS; i++)
+ set_cpu_possible(i, false);
+
+ nr_cpu_ids = possible;
+}
+
void __init setup_arch(char **cmdline_p)
{
pr_info("Boot CPU: AArch64 Processor [%08x]\n", read_cpuid_id());
@@ -285,6 +300,7 @@ void __init setup_arch(char **cmdline_p)
cpu_read_bootcpu_ops();
smp_init_cpus();
smp_build_mpidr_hash();
+ prefill_possible_map();
#ifdef CONFIG_VT
#if defined(CONFIG_VGA_CONSOLE)
--
1.7.12.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH] arm64: Support hard limit of cpu count by nr_cpus
2016-08-05 6:03 [PATCH] arm64: Support hard limit of cpu count by nr_cpus Kefeng Wang
@ 2016-08-05 8:32 ` Will Deacon
2016-08-05 9:58 ` Kefeng Wang
0 siblings, 1 reply; 11+ messages in thread
From: Will Deacon @ 2016-08-05 8:32 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Aug 05, 2016 at 02:03:55PM +0800, Kefeng Wang wrote:
> Enable the hard limit of cpu count by nr_cpus on arm64.
> The code is borrowed from MIPS.
>
> Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> ---
> arch/arm64/kernel/setup.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
> index 536dce2..597b777 100644
> --- a/arch/arm64/kernel/setup.c
> +++ b/arch/arm64/kernel/setup.c
> @@ -224,6 +224,21 @@ static void __init request_standard_resources(void)
>
> u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
>
> +static void __init prefill_possible_map(void)
> +{
> + int i, possible = num_possible_cpus();
> +
> + if (possible > nr_cpu_ids)
> + possible = nr_cpu_ids;
> +
> + for (i = 0; i < possible; i++)
> + set_cpu_possible(i, true);
> + for (; i < NR_CPUS; i++)
> + set_cpu_possible(i, false);
> +
> + nr_cpu_ids = possible;
> +}
Shouldn't we just avoid marking those CPUs as possible in smp_cpu_setup,
rather than rewriting things later on?
Also, can you explain exactly what functionality is missing at the moment,
please? I assume it's the nr_cpus= option not working correctly?
Will
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] arm64: Support hard limit of cpu count by nr_cpus
2016-08-05 8:32 ` Will Deacon
@ 2016-08-05 9:58 ` Kefeng Wang
2016-08-05 10:19 ` Suzuki K Poulose
0 siblings, 1 reply; 11+ messages in thread
From: Kefeng Wang @ 2016-08-05 9:58 UTC (permalink / raw)
To: linux-arm-kernel
On 2016/8/5 16:32, Will Deacon wrote:
> On Fri, Aug 05, 2016 at 02:03:55PM +0800, Kefeng Wang wrote:
>> Enable the hard limit of cpu count by nr_cpus on arm64.
>> The code is borrowed from MIPS.
>>
>> Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
>> ---
>> arch/arm64/kernel/setup.c | 16 ++++++++++++++++
>> 1 file changed, 16 insertions(+)
>>
>> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
>> index 536dce2..597b777 100644
>> --- a/arch/arm64/kernel/setup.c
>> +++ b/arch/arm64/kernel/setup.c
>> @@ -224,6 +224,21 @@ static void __init request_standard_resources(void)
>>
>> u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
>>
>> +static void __init prefill_possible_map(void)
>> +{
>> + int i, possible = num_possible_cpus();
>> +
>> + if (possible > nr_cpu_ids)
>> + possible = nr_cpu_ids;
>> +
>> + for (i = 0; i < possible; i++)
>> + set_cpu_possible(i, true);
>> + for (; i < NR_CPUS; i++)
>> + set_cpu_possible(i, false);
>> +
>> + nr_cpu_ids = possible;
>> +}
>
> Shouldn't we just avoid marking those CPUs as possible in smp_cpu_setup,
> rather than rewriting things later on?
How about this one,
>From 0965eebecbc5aea0473df0cb45d32b2fccf72a9a Mon Sep 17 00:00:00 2001
From: Kefeng Wang <wangkefeng.wang@huawei.com>
Date: Fri, 5 Aug 2016 17:44:33 +0800
Subject: [PATCH v2] arm64: Support hard limit of cpu count by nr_cpus
Enable the hard limit of cpu count by set boot options nr_cpus=x
on arm64.
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
arch/arm64/kernel/smp.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index 76a6d92..0ac3ff5 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -496,7 +496,10 @@ static int __init smp_cpu_setup(int cpu)
if (cpu_ops[cpu]->cpu_init(cpu))
return -ENODEV;
- set_cpu_possible(cpu, true);
+ if (cpu < nr_cpu_ids)
+ set_cpu_possible(cpu, true);
+ else
+ return -EINVAL;
return 0;
}
--
1.7.12.4
>
> Also, can you explain exactly what functionality is missing at the moment,
> please? I assume it's the nr_cpus= option not working correctly?
Yes. they use same bootargs nr_cpus=1 on both arm64 and x86, but find it can't work in arm64.
>
> Will
>
> .
>
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH] arm64: Support hard limit of cpu count by nr_cpus
2016-08-05 9:58 ` Kefeng Wang
@ 2016-08-05 10:19 ` Suzuki K Poulose
2016-08-08 5:29 ` Kefeng Wang
2016-08-08 6:05 ` [PATCH v2] " Kefeng Wang
0 siblings, 2 replies; 11+ messages in thread
From: Suzuki K Poulose @ 2016-08-05 10:19 UTC (permalink / raw)
To: linux-arm-kernel
On 05/08/16 10:58, Kefeng Wang wrote:
>
>
> On 2016/8/5 16:32, Will Deacon wrote:
>> On Fri, Aug 05, 2016 at 02:03:55PM +0800, Kefeng Wang wrote:
>>> Enable the hard limit of cpu count by nr_cpus on arm64.
>>> The code is borrowed from MIPS.
>>>
>>> Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
>>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
>>> ---
>>> arch/arm64/kernel/setup.c | 16 ++++++++++++++++
>>> 1 file changed, 16 insertions(+)
>>>
>>> diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
>>> index 536dce2..597b777 100644
>>> --- a/arch/arm64/kernel/setup.c
>>> +++ b/arch/arm64/kernel/setup.c
>>> @@ -224,6 +224,21 @@ static void __init request_standard_resources(void)
>>>
>>> u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID };
>>>
>>> +static void __init prefill_possible_map(void)
>>> +{
>>> + int i, possible = num_possible_cpus();
>>> +
>>> + if (possible > nr_cpu_ids)
>>> + possible = nr_cpu_ids;
>>> +
>>> + for (i = 0; i < possible; i++)
>>> + set_cpu_possible(i, true);
>>> + for (; i < NR_CPUS; i++)
>>> + set_cpu_possible(i, false);
>>> +
>>> + nr_cpu_ids = possible;
>>> +}
>>
>> Shouldn't we just avoid marking those CPUs as possible in smp_cpu_setup,
>> rather than rewriting things later on?
>
> How about this one,
>
> From 0965eebecbc5aea0473df0cb45d32b2fccf72a9a Mon Sep 17 00:00:00 2001
> From: Kefeng Wang <wangkefeng.wang@huawei.com>
> Date: Fri, 5 Aug 2016 17:44:33 +0800
> Subject: [PATCH v2] arm64: Support hard limit of cpu count by nr_cpus
>
> Enable the hard limit of cpu count by set boot options nr_cpus=x
> on arm64.
>
> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> ---
> arch/arm64/kernel/smp.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
> index 76a6d92..0ac3ff5 100644
> --- a/arch/arm64/kernel/smp.c
> +++ b/arch/arm64/kernel/smp.c
> @@ -496,7 +496,10 @@ static int __init smp_cpu_setup(int cpu)
> if (cpu_ops[cpu]->cpu_init(cpu))
> return -ENODEV;
>
> - set_cpu_possible(cpu, true);
> + if (cpu < nr_cpu_ids)
> + set_cpu_possible(cpu, true);
> + else
> + return -EINVAL;
>
> return 0;
> }
>
Or is this even better ?
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index 490db85..dbd6a5e 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -659,9 +659,9 @@ void __init smp_init_cpus(void)
acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
acpi_parse_gic_cpu_interface, 0);
- if (cpu_count > NR_CPUS)
+ if (cpu_count > nr_cpu_ids)
pr_warn("no. of cores (%d) greater than configured maximum of %d - clipping\n",
- cpu_count, NR_CPUS);
+ cpu_count, nr_cpu_ids);
if (!bootcpu_valid) {
pr_err("missing boot CPU MPIDR, not enabling secondaries\n");
@@ -675,7 +675,7 @@ void __init smp_init_cpus(void)
* with entries in cpu_logical_map while initializing the cpus.
* If the cpu set-up fails, invalidate the cpu_logical_map entry.
*/
- for (i = 1; i < NR_CPUS; i++) {
+ for (i = 1; i < nr_cpu_ids; i++) {
if (cpu_logical_map(i) != INVALID_HWID) {
if (smp_cpu_setup(i))
cpu_logical_map(i) = INVALID_HWID;
Cheers
Suzuki
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH] arm64: Support hard limit of cpu count by nr_cpus
2016-08-05 10:19 ` Suzuki K Poulose
@ 2016-08-08 5:29 ` Kefeng Wang
2016-08-08 6:05 ` [PATCH v2] " Kefeng Wang
1 sibling, 0 replies; 11+ messages in thread
From: Kefeng Wang @ 2016-08-08 5:29 UTC (permalink / raw)
To: linux-arm-kernel
On 2016/8/5 18:19, Suzuki K Poulose wrote:
> On 05/08/16 10:58, Kefeng Wang wrote:
>>
>>
>> On 2016/8/5 16:32, Will Deacon wrote:
>>> On Fri, Aug 05, 2016 at 02:03:55PM +0800, Kefeng Wang wrote:
>>>> Enable the hard limit of cpu count by nr_cpus on arm64.
>>>> The code is borrowed from MIPS.
>>>>
[...]
>
> Or is this even better ?
Agree, and let's show a better warning.
>
> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
> index 490db85..dbd6a5e 100644
> --- a/arch/arm64/kernel/smp.c
> +++ b/arch/arm64/kernel/smp.c
> @@ -659,9 +659,9 @@ void __init smp_init_cpus(void)
> acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
> acpi_parse_gic_cpu_interface, 0);
>
> - if (cpu_count > NR_CPUS)
> + if (cpu_count > nr_cpu_ids)
> pr_warn("no. of cores (%d) greater than configured maximum of %d - clipping\n",
change to pr_warn("%d cores exceeds configured maximum of %d - clipping\n",
Thanks,
Kefeng
> - cpu_count, NR_CPUS);
> + cpu_count, nr_cpu_ids);
>
> if (!bootcpu_valid) {
> pr_err("missing boot CPU MPIDR, not enabling secondaries\n");
> @@ -675,7 +675,7 @@ void __init smp_init_cpus(void)
> * with entries in cpu_logical_map while initializing the cpus.
> * If the cpu set-up fails, invalidate the cpu_logical_map entry.
> */
> - for (i = 1; i < NR_CPUS; i++) {
> + for (i = 1; i < nr_cpu_ids; i++) {
> if (cpu_logical_map(i) != INVALID_HWID) {
> if (smp_cpu_setup(i))
> cpu_logical_map(i) = INVALID_HWID;
>
>
> Cheers
> Suzuki
>
> .
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] arm64: Support hard limit of cpu count by nr_cpus
2016-08-05 10:19 ` Suzuki K Poulose
2016-08-08 5:29 ` Kefeng Wang
@ 2016-08-08 6:05 ` Kefeng Wang
2016-08-08 10:50 ` Suzuki K Poulose
1 sibling, 1 reply; 11+ messages in thread
From: Kefeng Wang @ 2016-08-08 6:05 UTC (permalink / raw)
To: linux-arm-kernel
Enable the hard limit of cpu count by set boot options nr_cpus=x
on arm64, and show a better warning when cpu number exceeds the limit.
Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
Changed since v1:
- clip cpu number in smp_init_cpus suggested-by Will and Suzuki, and update
the warning.
arch/arm64/kernel/smp.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index 76a6d92..cbfc31c 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -661,9 +661,9 @@ void __init smp_init_cpus(void)
acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
acpi_parse_gic_cpu_interface, 0);
- if (cpu_count > NR_CPUS)
- pr_warn("no. of cores (%d) greater than configured maximum of %d - clipping\n",
- cpu_count, NR_CPUS);
+ if (cpu_count > nr_cpu_ids)
+ pr_warn("%d cores exceeds configured maximum of %d - clipping\n",
+ cpu_count, nr_cpu_ids);
if (!bootcpu_valid) {
pr_err("missing boot CPU MPIDR, not enabling secondaries\n");
@@ -677,7 +677,7 @@ void __init smp_init_cpus(void)
* with entries in cpu_logical_map while initializing the cpus.
* If the cpu set-up fails, invalidate the cpu_logical_map entry.
*/
- for (i = 1; i < NR_CPUS; i++) {
+ for (i = 1; i < nr_cpu_ids; i++) {
if (cpu_logical_map(i) != INVALID_HWID) {
if (smp_cpu_setup(i))
cpu_logical_map(i) = INVALID_HWID;
--
1.7.12.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2] arm64: Support hard limit of cpu count by nr_cpus
2016-08-08 6:05 ` [PATCH v2] " Kefeng Wang
@ 2016-08-08 10:50 ` Suzuki K Poulose
2016-08-08 11:28 ` Kefeng Wang
0 siblings, 1 reply; 11+ messages in thread
From: Suzuki K Poulose @ 2016-08-08 10:50 UTC (permalink / raw)
To: linux-arm-kernel
On 08/08/16 07:05, Kefeng Wang wrote:
> Enable the hard limit of cpu count by set boot options nr_cpus=x
> on arm64, and show a better warning when cpu number exceeds the limit.
>
> Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> ---
>
> Changed since v1:
> - clip cpu number in smp_init_cpus suggested-by Will and Suzuki, and update
> the warning.
>
> arch/arm64/kernel/smp.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
> index 76a6d92..cbfc31c 100644
> --- a/arch/arm64/kernel/smp.c
> +++ b/arch/arm64/kernel/smp.c
> @@ -661,9 +661,9 @@ void __init smp_init_cpus(void)
> acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
> acpi_parse_gic_cpu_interface, 0);
>
> - if (cpu_count > NR_CPUS)
> - pr_warn("no. of cores (%d) greater than configured maximum of %d - clipping\n",
> - cpu_count, NR_CPUS);
> + if (cpu_count > nr_cpu_ids)
> + pr_warn("%d cores exceeds configured maximum of %d - clipping\n",
> + cpu_count, nr_cpu_ids);
I think we should leave the message as it was, and is better than what you have
changed it to.
With that change,
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] arm64: Support hard limit of cpu count by nr_cpus
2016-08-08 10:50 ` Suzuki K Poulose
@ 2016-08-08 11:28 ` Kefeng Wang
2016-08-08 12:52 ` Suzuki K Poulose
0 siblings, 1 reply; 11+ messages in thread
From: Kefeng Wang @ 2016-08-08 11:28 UTC (permalink / raw)
To: linux-arm-kernel
On 2016/8/8 18:50, Suzuki K Poulose wrote:
> On 08/08/16 07:05, Kefeng Wang wrote:
>> Enable the hard limit of cpu count by set boot options nr_cpus=x
>> on arm64, and show a better warning when cpu number exceeds the limit.
>>
>> Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
>> ---
>>
>> Changed since v1:
>> - clip cpu number in smp_init_cpus suggested-by Will and Suzuki, and update
>> the warning.
>>
>> arch/arm64/kernel/smp.c | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
>> index 76a6d92..cbfc31c 100644
>> --- a/arch/arm64/kernel/smp.c
>> +++ b/arch/arm64/kernel/smp.c
>> @@ -661,9 +661,9 @@ void __init smp_init_cpus(void)
>> acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
>> acpi_parse_gic_cpu_interface, 0);
>>
>> - if (cpu_count > NR_CPUS)
>> - pr_warn("no. of cores (%d) greater than configured maximum of %d - clipping\n",
>> - cpu_count, NR_CPUS);
>> + if (cpu_count > nr_cpu_ids)
>> + pr_warn("%d cores exceeds configured maximum of %d - clipping\n",
>> + cpu_count, nr_cpu_ids);
>
> I think we should leave the message as it was, and is better than what you have
> changed it to.
The old message is OF only and the old logic shows message when the first cpu number greater than NR_CPUS.
But now the cpu_count is the total cpu counts(get from DT or ACPI), so I change the message.
>
>
> With that change,
>
> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>
>
> .
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] arm64: Support hard limit of cpu count by nr_cpus
2016-08-08 11:28 ` Kefeng Wang
@ 2016-08-08 12:52 ` Suzuki K Poulose
2016-08-09 1:15 ` Kefeng Wang
2016-08-09 2:30 ` [PATCH v3] " Kefeng Wang
0 siblings, 2 replies; 11+ messages in thread
From: Suzuki K Poulose @ 2016-08-08 12:52 UTC (permalink / raw)
To: linux-arm-kernel
On 08/08/16 12:28, Kefeng Wang wrote:
>
>
> On 2016/8/8 18:50, Suzuki K Poulose wrote:
>> On 08/08/16 07:05, Kefeng Wang wrote:
>>> Enable the hard limit of cpu count by set boot options nr_cpus=x
>>> on arm64, and show a better warning when cpu number exceeds the limit.
>>>
>>> Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
>>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
>>> ---
>>>
>>> Changed since v1:
>>> - clip cpu number in smp_init_cpus suggested-by Will and Suzuki, and update
>>> the warning.
>>>
>>> arch/arm64/kernel/smp.c | 8 ++++----
>>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
>>> index 76a6d92..cbfc31c 100644
>>> --- a/arch/arm64/kernel/smp.c
>>> +++ b/arch/arm64/kernel/smp.c
>>> @@ -661,9 +661,9 @@ void __init smp_init_cpus(void)
>>> acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
>>> acpi_parse_gic_cpu_interface, 0);
>>>
>>> - if (cpu_count > NR_CPUS)
>>> - pr_warn("no. of cores (%d) greater than configured maximum of %d - clipping\n",
>>> - cpu_count, NR_CPUS);
>>> + if (cpu_count > nr_cpu_ids)
>>> + pr_warn("%d cores exceeds configured maximum of %d - clipping\n",
>>> + cpu_count, nr_cpu_ids);
>>
>> I think we should leave the message as it was, and is better than what you have
>> changed it to.
>
> The old message is OF only and the old logic shows message when the first cpu number greater than NR_CPUS.
I think you misunderstood "of" (as in plain english) with OF (as in Open Firmware). To avoid
the confusion, how about making it :
"Number of cores (%d) exceeds configured maximum of %d - clipping\n" ?
Certainly a message like :
"5 cores exceeds configured maximum of %d..." doesn't look nice.
Suzuki
> But now the cpu_count is the total cpu counts(get from DT or ACPI), so I change the message.
>
>
>>
>>
>> With that change,
>>
>> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>>
>>
>> .
>>
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] arm64: Support hard limit of cpu count by nr_cpus
2016-08-08 12:52 ` Suzuki K Poulose
@ 2016-08-09 1:15 ` Kefeng Wang
2016-08-09 2:30 ` [PATCH v3] " Kefeng Wang
1 sibling, 0 replies; 11+ messages in thread
From: Kefeng Wang @ 2016-08-09 1:15 UTC (permalink / raw)
To: linux-arm-kernel
On 2016/8/8 20:52, Suzuki K Poulose wrote:
> On 08/08/16 12:28, Kefeng Wang wrote:
>>
>>
>> On 2016/8/8 18:50, Suzuki K Poulose wrote:
>>> On 08/08/16 07:05, Kefeng Wang wrote:
>>>> Enable the hard limit of cpu count by set boot options nr_cpus=x
>>>> on arm64, and show a better warning when cpu number exceeds the limit.
>>>>
>>>> Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
>>>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
>>>> ---
>>>>
>>>> Changed since v1:
>>>> - clip cpu number in smp_init_cpus suggested-by Will and Suzuki, and update
>>>> the warning.
>>>>
>>>> arch/arm64/kernel/smp.c | 8 ++++----
>>>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
>>>> index 76a6d92..cbfc31c 100644
>>>> --- a/arch/arm64/kernel/smp.c
>>>> +++ b/arch/arm64/kernel/smp.c
>>>> @@ -661,9 +661,9 @@ void __init smp_init_cpus(void)
>>>> acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
>>>> acpi_parse_gic_cpu_interface, 0);
>>>>
>>>> - if (cpu_count > NR_CPUS)
>>>> - pr_warn("no. of cores (%d) greater than configured maximum of %d - clipping\n",
>>>> - cpu_count, NR_CPUS);
>>>> + if (cpu_count > nr_cpu_ids)
>>>> + pr_warn("%d cores exceeds configured maximum of %d - clipping\n",
>>>> + cpu_count, nr_cpu_ids);
>>>
>>> I think we should leave the message as it was, and is better than what you have
>>> changed it to.
>>
>> The old message is OF only and the old logic shows message when the first cpu number greater than NR_CPUS.
>
> I think you misunderstood "of" (as in plain english) with OF (as in Open Firmware). To avoid
> the confusion, how about making it :
>
> "Number of cores (%d) exceeds configured maximum of %d - clipping\n" ?
Er, I do misunderstood it, my bad, will use this one, thanks :)
Kefeng
>
> Certainly a message like :
>
> "5 cores exceeds configured maximum of %d..." doesn't look nice.
>
>
> Suzuki
>
>> But now the cpu_count is the total cpu counts(get from DT or ACPI), so I change the message.
>>
>>
>>>
>>>
>>> With that change,
>>>
>>> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>>>
>>>
>>> .
>>>
>>
>
>
> .
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v3] arm64: Support hard limit of cpu count by nr_cpus
2016-08-08 12:52 ` Suzuki K Poulose
2016-08-09 1:15 ` Kefeng Wang
@ 2016-08-09 2:30 ` Kefeng Wang
1 sibling, 0 replies; 11+ messages in thread
From: Kefeng Wang @ 2016-08-09 2:30 UTC (permalink / raw)
To: linux-arm-kernel
Enable the hard limit of cpu count by set boot options nr_cpus=x
on arm64, and make a minor change about message when total number
of cpu exceeds the limit.
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reported-by: Shiyuan Hu <hushiyuan@huawei.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
Change since v2:
- change the warning message suggested-by Suzuki, and Suzuki's reviewed-by
Change since v1:
- clip cpu number in smp_init_cpus suggested-by Will and Suzuki, and update
the warning.
arch/arm64/kernel/smp.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c
index 76a6d92..d93d433 100644
--- a/arch/arm64/kernel/smp.c
+++ b/arch/arm64/kernel/smp.c
@@ -661,9 +661,9 @@ void __init smp_init_cpus(void)
acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
acpi_parse_gic_cpu_interface, 0);
- if (cpu_count > NR_CPUS)
- pr_warn("no. of cores (%d) greater than configured maximum of %d - clipping\n",
- cpu_count, NR_CPUS);
+ if (cpu_count > nr_cpu_ids)
+ pr_warn("Number of cores (%d) exceeds configured maximum of %d - clipping\n",
+ cpu_count, nr_cpu_ids);
if (!bootcpu_valid) {
pr_err("missing boot CPU MPIDR, not enabling secondaries\n");
@@ -677,7 +677,7 @@ void __init smp_init_cpus(void)
* with entries in cpu_logical_map while initializing the cpus.
* If the cpu set-up fails, invalidate the cpu_logical_map entry.
*/
- for (i = 1; i < NR_CPUS; i++) {
+ for (i = 1; i < nr_cpu_ids; i++) {
if (cpu_logical_map(i) != INVALID_HWID) {
if (smp_cpu_setup(i))
cpu_logical_map(i) = INVALID_HWID;
--
1.7.12.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-08-09 2:30 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-05 6:03 [PATCH] arm64: Support hard limit of cpu count by nr_cpus Kefeng Wang
2016-08-05 8:32 ` Will Deacon
2016-08-05 9:58 ` Kefeng Wang
2016-08-05 10:19 ` Suzuki K Poulose
2016-08-08 5:29 ` Kefeng Wang
2016-08-08 6:05 ` [PATCH v2] " Kefeng Wang
2016-08-08 10:50 ` Suzuki K Poulose
2016-08-08 11:28 ` Kefeng Wang
2016-08-08 12:52 ` Suzuki K Poulose
2016-08-09 1:15 ` Kefeng Wang
2016-08-09 2:30 ` [PATCH v3] " Kefeng Wang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.