this patch fixes the DEBUG_PREEMPT warnings reported by Paul Jackson.
The reason why raw_smp_processor_id() is fine here is that we dont care
about the _precise_ CPU ID the boot process happens on, only about the
quad. (the reason for this whole code is that NUMAQ doesnt like being
migrated to a non-boot quad.) So we mark whatever CPU ID we happen to be
on, and migrate back to it once calibration has finished.
Signed-off-by: Ingo Molnar <[email protected]>
kernel/sched.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Index: linux/kernel/sched.c
===================================================================
--- linux.orig/kernel/sched.c
+++ linux/kernel/sched.c
@@ -5480,7 +5480,7 @@ __devinit static unsigned long long meas
void __devinit calibrate_migration_costs(void)
{
- int cpu1 = -1, cpu2 = -1, cpu, orig_cpu = smp_processor_id();
+ int cpu1 = -1, cpu2 = -1, cpu, orig_cpu = raw_smp_processor_id();
struct sched_domain *sd;
unsigned long distance, max_distance = 0;
unsigned long long cost;
@@ -5567,7 +5567,7 @@ void __devinit calibrate_migration_costs
* Move back to the original CPU. NUMA-Q gets confused
* if we migrate to another quad during bootup.
*/
- if (smp_processor_id() != orig_cpu) {
+ if (raw_smp_processor_id() != orig_cpu) {
cpumask_t mask = cpumask_of_cpu(orig_cpu),
saved_mask = current->cpus_allowed;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]