aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2011-06-23 14:19:29 -0400
committerH. Peter Anvin <hpa@linux.intel.com>2011-06-27 18:17:13 -0400
commit192d8857427dd23707d5f0b86ca990c3af6f2d74 (patch)
tree1de33c7a3adbe14863f9bbdaf57a8b76c6144f62 /kernel
parentf740e6cd0cb5e7468e46831aeb4d9c30e03d5ebc (diff)
x86, mtrr: use stop_machine APIs for doing MTRR rendezvous
MTRR rendezvous sequence is not implemened using stop_machine() before, as this gets called both from the process context aswell as the cpu online paths (where the cpu has not come online and the interrupts are disabled etc). Now that we have a new stop_machine_from_inactive_cpu() API, use it for rendezvous during mtrr init of a logical processor that is coming online. For the rest (runtime MTRR modification, system boot, resume paths), use stop_machine() to implement the rendezvous sequence. This will consolidate and cleanup the code. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Link: http://lkml.kernel.org/r/20110623182057.076997177@sbsiddha-MOBL3.sc.intel.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/stop_machine.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c
index e8f05b14cd43..c1124752e1d3 100644
--- a/kernel/stop_machine.c
+++ b/kernel/stop_machine.c
@@ -132,8 +132,8 @@ void stop_one_cpu_nowait(unsigned int cpu, cpu_stop_fn_t fn, void *arg,
132 cpu_stop_queue_work(&per_cpu(cpu_stopper, cpu), work_buf); 132 cpu_stop_queue_work(&per_cpu(cpu_stopper, cpu), work_buf);
133} 133}
134 134
135DEFINE_MUTEX(stop_cpus_mutex);
136/* static data for stop_cpus */ 135/* static data for stop_cpus */
136static DEFINE_MUTEX(stop_cpus_mutex);
137static DEFINE_PER_CPU(struct cpu_stop_work, stop_cpus_work); 137static DEFINE_PER_CPU(struct cpu_stop_work, stop_cpus_work);
138 138
139static void queue_stop_cpus_work(const struct cpumask *cpumask, 139static void queue_stop_cpus_work(const struct cpumask *cpumask,