summaryrefslogtreecommitdiff
path: root/kernel/stop_machine.c
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2011-06-23 11:19:29 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2011-06-27 15:17:13 -0700
commit192d8857427dd23707d5f0b86ca990c3af6f2d74 (patch)
tree1de33c7a3adbe14863f9bbdaf57a8b76c6144f62 /kernel/stop_machine.c
parentf740e6cd0cb5e7468e46831aeb4d9c30e03d5ebc (diff)
downloadlwn-192d8857427dd23707d5f0b86ca990c3af6f2d74.tar.gz
lwn-192d8857427dd23707d5f0b86ca990c3af6f2d74.zip
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/stop_machine.c')
-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,
cpu_stop_queue_work(&per_cpu(cpu_stopper, cpu), work_buf);
}
-DEFINE_MUTEX(stop_cpus_mutex);
/* static data for stop_cpus */
+static DEFINE_MUTEX(stop_cpus_mutex);
static DEFINE_PER_CPU(struct cpu_stop_work, stop_cpus_work);
static void queue_stop_cpus_work(const struct cpumask *cpumask,