diff -upN reference/arch/i386/Kconfig current/arch/i386/Kconfig
--- reference/arch/i386/Kconfig	2004-03-30 13:22:13.000000000 -0800
+++ current/arch/i386/Kconfig	2004-03-30 13:22:15.000000000 -0800
@@ -832,6 +832,25 @@ config IRQBALANCE
  	  The default yes will allow the kernel to do irq load balancing.
 	  Saying no will keep the kernel from doing irq load balancing.
 
+choice
+	help
+	  This is unrelated to your processor's speed.  This variable alters
+	  how often the system is asked to generate timer interrupts.  A larger
+	  value can lead to a more responsive system, but also causes extra 
+	  overhead from the increased number of context switches.
+	    
+	  If in doubt, leave it at the default of 1000. 
+
+	prompt "Kernel HZ"
+	default 1000HZ
+
+config	100HZ
+	bool "100 Hz"
+
+config	1000HZ
+	bool "1000 Hz"
+endchoice
+
 config HAVE_DEC_LOCK
 	bool
 	depends on (SMP || PREEMPT) && X86_CMPXCHG
diff -upN reference/include/asm-i386/param.h current/include/asm-i386/param.h
--- reference/include/asm-i386/param.h	2004-03-30 13:21:31.000000000 -0800
+++ current/include/asm-i386/param.h	2004-03-30 13:22:15.000000000 -0800
@@ -2,12 +2,19 @@
 #define _ASMi386_PARAM_H
 
 #ifdef __KERNEL__
-# define HZ		1000		/* Internal kernel timer frequency */
-# define USER_HZ	100		/* .. some user interfaces are in "ticks" */
-# define CLOCKS_PER_SEC		(USER_HZ)	/* like times() */
-# define JIFFIES_TO_MSEC(x)	(x)
-# define MSEC_TO_JIFFIES(x)	(x)
-#endif
+ #include <linux/config.h>
+
+ #ifdef CONFIG_1000HZ
+  #define HZ	1000		/* Internal kernel timer frequency */
+ #else
+  #define HZ	100
+ #endif
+  
+ #define USER_HZ	100	/* .. some user interfaces are in "ticks" */
+ #define CLOCKS_PER_SEC	(USER_HZ)	/* like times() */
+ #define JIFFIES_TO_MSEC(x)	(x)
+ #define MSEC_TO_JIFFIES(x)	(x)
+#endif /* __KERNEL__ */
 
 #ifndef HZ
 #define HZ 100
diff -upN reference/include/linux/timex.h current/include/linux/timex.h
--- reference/include/linux/timex.h	2003-10-27 10:41:15.000000000 -0800
+++ current/include/linux/timex.h	2004-03-30 13:22:15.000000000 -0800
@@ -78,7 +78,7 @@
 #elif HZ >= 768 && HZ < 1536
 # define SHIFT_HZ	10
 #else
-# error You lose.
+# error Please use a HZ value which is between 12 and 1536 
 #endif
 
 /*