[PATCH] Work around for periodic do_gettimeofday hang

From: James Bottomley
Date: Wed Nov 24 2004 - 13:35:18 EST


On the voyager systems particularly (but also on some of my slower
parisc boxes) I periodically get hangs where the system just seems to
stop (although it does remain able to execute alt-sysrq). The traces
always seem to implicate do_gettimeofday in the xtime seqlock.

I've not been able to trace an exact cause for this, but it does seem to
be pretty much eliminated by lowering the clock speed to 100HZ. I
propose the following patch to do this for the slower intel processors
(basically pentiums and below)

James

--

Signed-off-by: James Bottomley <James.Bottomley@xxxxxxxxxxxx>

===== include/asm-i386/param.h 1.6 vs edited =====
--- 1.6/include/asm-i386/param.h 2004-06-24 03:55:46 -05:00
+++ edited/include/asm-i386/param.h 2004-11-22 18:36:42 -06:00
@@ -1,8 +1,15 @@
#ifndef _ASMi386_PARAM_H
#define _ASMi386_PARAM_H

+#include <linux/config.h>
+
#ifdef __KERNEL__
-# define HZ 1000 /* Internal kernel timer frequency */
+# if defined(CONFIG_M386) || defined(CONFIG_M486) || defined(CONFIG_M586) \
+ || defined(CONFIG_M586TSC) || defined(CONFIG_M586MMX)
+# define HZ 100
+# else
+# define HZ 1000 /* Internal kernel timer frequency */
+# endif
# define USER_HZ 100 /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
#endif

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/