Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25384ce5 authored by Max Filippov's avatar Max Filippov
Browse files

xtensa: SMP: limit number of possible CPUs by NR_CPUS



This fixes the following warning at boot when the kernel is booted on a
board with more CPU cores than was configured in NR_CPUS:

  smp_init_cpus: Core Count = 8
  smp_init_cpus: Core Id = 0
  ------------[ cut here ]------------
  WARNING: CPU: 0 PID: 0 at include/linux/cpumask.h:121 smp_init_cpus+0x54/0x74
  Modules linked in:
  CPU: 0 PID: 0 Comm: swapper Not tainted 5.0.0-rc3-00015-g1459333f88a0 #124
  Call Trace:
    __warn$part$3+0x6a/0x7c
    warn_slowpath_null+0x35/0x3c
    smp_init_cpus+0x54/0x74
    setup_arch+0x1c0/0x1d0
    start_kernel+0x44/0x310
    _startup+0x107/0x107

Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent 687cffd3
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -96,6 +96,11 @@ void __init smp_init_cpus(void)
	pr_info("%s: Core Count = %d\n", __func__, ncpus);
	pr_info("%s: Core Count = %d\n", __func__, ncpus);
	pr_info("%s: Core Id = %d\n", __func__, core_id);
	pr_info("%s: Core Id = %d\n", __func__, core_id);


	if (ncpus > NR_CPUS) {
		ncpus = NR_CPUS;
		pr_info("%s: limiting core count by %d\n", __func__, ncpus);
	}

	for (i = 0; i < ncpus; ++i)
	for (i = 0; i < ncpus; ++i)
		set_cpu_possible(i, true);
		set_cpu_possible(i, true);
}
}