|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Fix cpu hotplug bug of mtrr update inconsistency
Fix cpu hotplug bug of mtrr update inconsistency
c/s 20021 changes some mtrr update logic.
A bug is, when a cpu hot-add and then mtrr update, another cpu hot-add may
break cpu_online_map
consistency and result in deadlock.
This patch is used to fix the bug. It move 'mtrr_ap_init' back to bp-ap sync
stage protected by
CPU_STATE_CALLOUT and CPU_STATE_CALLIN, and then keep consistency.
Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
diff -r 96917cf25bf3 xen/arch/x86/smpboot.c
--- a/xen/arch/x86/smpboot.c Fri May 28 10:54:07 2010 +0100
+++ b/xen/arch/x86/smpboot.c Tue Jun 01 13:58:44 2010 +0800
@@ -202,6 +202,8 @@ void smp_callin(void)
/* Save our processor parameters. */
smp_store_cpu_info(cpu);
+ mtrr_ap_init();
+
if ( (rc = hvm_cpu_up()) != 0 )
{
extern void (*dead_idle) (void);
@@ -374,7 +376,6 @@ void start_secondary(void *unused)
/* We can take interrupts now: we're officially "up". */
local_irq_enable();
- mtrr_ap_init();
microcode_resume_cpu(cpu);
Attachment:
fix-cpu-hotplug-mtrr.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |