lkml.org 
[lkml]   [2005]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] fix smp_processor_id() use in the cache-hot autodetector

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 <mingo@elte.hu>

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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-11-15 09:44    [W:1.059 / U:0.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site