From 1874095f0259beca12ea1f93b9e823f68ab3cdfa Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Thu, 11 Aug 2005 16:49:23 -0700 Subject: [PATCH] Patch needed bug fix as pointed out by Andi. --- .../x86_64-fix-smpboot-timing-problem.patch | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/review/x86_64-fix-smpboot-timing-problem.patch b/review/x86_64-fix-smpboot-timing-problem.patch index 1d3da4a2948..bd2382886e0 100644 --- a/review/x86_64-fix-smpboot-timing-problem.patch +++ b/review/x86_64-fix-smpboot-timing-problem.patch @@ -27,11 +27,17 @@ it fixes it for the right reasons. Signed-off-by: "Eric W. Biederman" Signed-off-by: Andi Kleen +Signed-off-by: Chris Wright +--- + arch/x86_64/kernel/smp.c | 65 +++++++++++++++++++++++++++++++++++++++++++ + arch/x86_64/kernel/smpboot.c | 21 +++++++------ + include/asm-x86_64/smp.h | 2 + + 3 files changed, 79 insertions(+), 9 deletions(-) -Index: linux-2.6.12/arch/x86_64/kernel/smp.c +Index: linux-2.6.12.y/arch/x86_64/kernel/smp.c =================================================================== ---- linux-2.6.12.orig/arch/x86_64/kernel/smp.c -+++ linux-2.6.12/arch/x86_64/kernel/smp.c +--- linux-2.6.12.y.orig/arch/x86_64/kernel/smp.c ++++ linux-2.6.12.y/arch/x86_64/kernel/smp.c @@ -284,6 +284,71 @@ struct call_data_struct { static struct call_data_struct * call_data; @@ -104,10 +110,10 @@ Index: linux-2.6.12/arch/x86_64/kernel/smp.c * this function sends a 'generic call function' IPI to all other CPUs * in the system. */ -Index: linux-2.6.12/arch/x86_64/kernel/smpboot.c +Index: linux-2.6.12.y/arch/x86_64/kernel/smpboot.c =================================================================== ---- linux-2.6.12.orig/arch/x86_64/kernel/smpboot.c -+++ linux-2.6.12/arch/x86_64/kernel/smpboot.c +--- linux-2.6.12.y.orig/arch/x86_64/kernel/smpboot.c ++++ linux-2.6.12.y/arch/x86_64/kernel/smpboot.c @@ -202,9 +202,6 @@ static __cpuinit void sync_master(void * { unsigned long flags, i; @@ -161,14 +167,14 @@ Index: linux-2.6.12/arch/x86_64/kernel/smpboot.c - printk(KERN_INFO "CPU %d: Syncing TSC to CPU %u.\n", smp_processor_id(), - boot_cpu_id); - sync_tsc(); -+ sync_tsc(boot_cpu_id); ++ sync_tsc(0); } static __init int notscsync_setup(char *s) -Index: linux-2.6.12/include/asm-x86_64/smp.h +Index: linux-2.6.12.y/include/asm-x86_64/smp.h =================================================================== ---- linux-2.6.12.orig/include/asm-x86_64/smp.h -+++ linux-2.6.12/include/asm-x86_64/smp.h +--- linux-2.6.12.y.orig/include/asm-x86_64/smp.h ++++ linux-2.6.12.y/include/asm-x86_64/smp.h @@ -46,6 +46,8 @@ extern int pic_mode; extern int smp_num_siblings; extern void smp_flush_tlb(void); -- 2.47.3