x86, mtrr: use stop_machine APIs for doing MTRR rendezvous
authorSuresh Siddha <suresh.b.siddha@intel.com>
Thu, 23 Jun 2011 18:19:29 +0000 (11:19 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Mon, 27 Jun 2011 22:17:13 +0000 (15:17 -0700)
commit192d8857427dd23707d5f0b86ca990c3af6f2d74
tree1de33c7a3adbe14863f9bbdaf57a8b76c6144f62
parentf740e6cd0cb5e7468e46831aeb4d9c30e03d5ebc
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>
arch/x86/kernel/cpu/mtrr/main.c
include/linux/stop_machine.h
kernel/stop_machine.c