Skip to content

Commit 82b143a

Browse files
committed
Revert "parisc: Only list existing CPUs in cpu_possible_mask"
This reverts commit 0921244. It broke CPU hotplugging because it modifies the __cpu_possible_mask after bootup, so that it will be different than nr_cpu_ids, which then effictively breaks the workqueue setup code and triggers crashes when shutting down CPUs at runtime. Guenter was the first who noticed the wrong values in __cpu_possible_mask, since the cpumask Kunit tests were failig. Reverting this commit fixes both issues, but sadly brings back this uncritical runtime warning: register_cpu_capacity_sysctl: too early to get CPU4 device! Signed-off-by: Helge Deller <deller@gmx.de> Reported-by: Guenter Roeck <linux@roeck-us.net> Link: https://lkml.org/lkml/2024/2/4/146 Link: https://lore.kernel.org/lkml/Zb0mbHlIud_bqftx@slm.duckdns.org/t/ Cc: stable@vger.kernel.org # 6.0+
1 parent 54be6c6 commit 82b143a

File tree

1 file changed

+0
-8
lines changed

1 file changed

+0
-8
lines changed

arch/parisc/kernel/processor.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,6 @@ static int __init processor_probe(struct parisc_device *dev)
172172
p->cpu_num = cpu_info.cpu_num;
173173
p->cpu_loc = cpu_info.cpu_loc;
174174

175-
set_cpu_possible(cpuid, true);
176175
store_cpu_topology(cpuid);
177176

178177
#ifdef CONFIG_SMP
@@ -474,13 +473,6 @@ static struct parisc_driver cpu_driver __refdata = {
474473
*/
475474
void __init processor_init(void)
476475
{
477-
unsigned int cpu;
478-
479476
reset_cpu_topology();
480-
481-
/* reset possible mask. We will mark those which are possible. */
482-
for_each_possible_cpu(cpu)
483-
set_cpu_possible(cpu, false);
484-
485477
register_parisc_driver(&cpu_driver);
486478
}

0 commit comments

Comments
 (0)