public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] re-disable TSC on NUMAQ
@ 2005-07-28 19:18 Dave Hansen
  0 siblings, 0 replies; only message in thread
From: Dave Hansen @ 2005-07-28 19:18 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 1454 bytes --]

Somewhere recently, the TSC got re-enabled for timekeeping on NUMAQ
machines.  However, the hardware makes these get unsynchronized quite
badly.  So badly, in fact, that the code to fix up the skew can just
hang on boot.

This patch re-disables them.  It's nicely confined to the numaq.c file.
It would be great if this could make it into 2.6.13, I think it counts
as a bugfix.

Tested on a 16-proc 4-node NUMAQ.

-- Dave

Signed-off-by: Dave Hansen <haveblue@us.ibm.com>

 memhotplug-dave/arch/i386/kernel/numaq.c |    9 +++++++++
 1 files changed, 9 insertions(+)

diff -puN arch/i386/mach-default/setup.c~numaq-tsc-disable arch/i386/mach-default/setup.c
diff -L arch/i386/mach-default/setup.c.orig -puN /dev/null /dev/null
diff -L p -puN /dev/null /dev/null
diff -puN arch/i386/kernel/numaq.c~numaq-tsc-disable arch/i386/kernel/numaq.c
--- memhotplug/arch/i386/kernel/numaq.c~numaq-tsc-disable	2005-07-28 11:40:51.000000000 -0700
+++ memhotplug-dave/arch/i386/kernel/numaq.c	2005-07-28 11:50:59.000000000 -0700
@@ -31,6 +31,7 @@
 #include <linux/nodemask.h>
 #include <asm/numaq.h>
 #include <asm/topology.h>
+#include <asm/processor.h>
 
 #define	MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT))
 
@@ -77,3 +78,11 @@ int __init get_memcfg_numaq(void)
 	smp_dump_qct();
 	return 1;
 }
+
+static int __init numaq_dsc_disable(void)
+{
+	printk(KERN_DEBUG "NUMAQ: disabling TSC\n");
+	tsc_disable = 1;
+	return 0;
+}
+core_initcall(numaq_dsc_disable);
_


[-- Attachment #2: numaq-tsc-disable.patch --]
[-- Type: text/x-patch, Size: 295 bytes --]

--- linux-2.6/arch/i386/mach-default/setup.c.orig	2005-07-28 11:34:27.000000000 -0700
+++ linux-2.6/arch/i386/mach-default/setup.c	2005-07-28 11:35:33.000000000 -0700
@@ -66,6 +66,9 @@
  **/
 void __init pre_setup_arch_hook(void)
 {
+#ifdef CONFIG_X86_NUMAQ
+	tsc_disable = 1;
+#endif
 }
 
 /**

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-07-28 19:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-28 19:18 [PATCH] re-disable TSC on NUMAQ Dave Hansen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox