diff options
-rw-r--r-- | arch/sparc64/kernel/process.c | 10 | ||||
-rw-r--r-- | arch/sparc64/kernel/smp.c | 2 | ||||
-rw-r--r-- | include/asm-sparc64/cpudata.h | 2 |
3 files changed, 3 insertions, 11 deletions
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index d00cb7ad89b9..1ab8283efc4c 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
@@ -56,6 +56,8 @@ void default_idle(void) | |||
56 | { | 56 | { |
57 | } | 57 | } |
58 | 58 | ||
59 | |||
60 | |||
59 | #ifndef CONFIG_SMP | 61 | #ifndef CONFIG_SMP |
60 | 62 | ||
61 | /* | 63 | /* |
@@ -104,19 +106,11 @@ void cpu_idle(void) | |||
104 | 106 | ||
105 | while(1) { | 107 | while(1) { |
106 | if (need_resched()) { | 108 | if (need_resched()) { |
107 | cpuinfo->idle_volume = 0; | ||
108 | preempt_enable_no_resched(); | 109 | preempt_enable_no_resched(); |
109 | schedule(); | 110 | schedule(); |
110 | preempt_disable(); | 111 | preempt_disable(); |
111 | check_pgt_cache(); | 112 | check_pgt_cache(); |
112 | } | 113 | } |
113 | cpuinfo->idle_volume++; | ||
114 | |||
115 | /* The store ordering is so that IRQ handlers on | ||
116 | * other cpus see our increasing idleness for the buddy | ||
117 | * redistribution algorithm. -DaveM | ||
118 | */ | ||
119 | membar_storeload_storestore(); | ||
120 | } | 114 | } |
121 | } | 115 | } |
122 | 116 | ||
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 356d423ae14d..0cd9b16612e7 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -88,8 +88,6 @@ void __init smp_store_cpu_info(int id) | |||
88 | cpu_data(id).clock_tick = prom_getintdefault(cpu_node, | 88 | cpu_data(id).clock_tick = prom_getintdefault(cpu_node, |
89 | "clock-frequency", 0); | 89 | "clock-frequency", 0); |
90 | 90 | ||
91 | cpu_data(id).idle_volume = 1; | ||
92 | |||
93 | def = ((tlb_type == hypervisor) ? (8 * 1024) : (16 * 1024)); | 91 | def = ((tlb_type == hypervisor) ? (8 * 1024) : (16 * 1024)); |
94 | cpu_data(id).dcache_size = prom_getintdefault(cpu_node, "dcache-size", | 92 | cpu_data(id).dcache_size = prom_getintdefault(cpu_node, "dcache-size", |
95 | def); | 93 | def); |
diff --git a/include/asm-sparc64/cpudata.h b/include/asm-sparc64/cpudata.h index 84656f1895cd..c66a81bbc84d 100644 --- a/include/asm-sparc64/cpudata.h +++ b/include/asm-sparc64/cpudata.h | |||
@@ -19,7 +19,7 @@ typedef struct { | |||
19 | unsigned int __softirq_pending; /* must be 1st, see rtrap.S */ | 19 | unsigned int __softirq_pending; /* must be 1st, see rtrap.S */ |
20 | unsigned int multiplier; | 20 | unsigned int multiplier; |
21 | unsigned int counter; | 21 | unsigned int counter; |
22 | unsigned int idle_volume; | 22 | unsigned int __pad1; |
23 | unsigned long clock_tick; /* %tick's per second */ | 23 | unsigned long clock_tick; /* %tick's per second */ |
24 | unsigned long udelay_val; | 24 | unsigned long udelay_val; |
25 | 25 | ||