"Martin J. Bligh" <[email protected]> wrote:
>
> Build failure on numaq:
> http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/numaq
>
> In file included from include/linux/sched.h:12,
> from arch/i386/kernel/asm-offsets.c:7:
> include/linux/jiffies.h:42:3: #error You lose.
You lost! CONFIG_HZ didn't get set.
Something obviously went wrong in the magic in kernel/Kconfig.hz. Wanna do
`grep HZ .config' and see if you can work out why it broke?
Roman, is there a better way of doing the below?
From: Christoph Lameter <[email protected]>
Make the timer frequency selectable. The timer interrupt may cause bus
and memory contention in large NUMA systems since the interrupt occurs
on each processor HZ times per second.
Signed-off-by: Christoph Lameter <[email protected]>
Signed-off-by: Shai Fultheim <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---
arch/i386/Kconfig | 2 +
arch/x86_64/Kconfig | 2 +
include/asm-i386/param.h | 4 ++-
include/asm-x86_64/param.h | 6 +++--
kernel/Kconfig.hz | 46 +++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 57 insertions(+), 3 deletions(-)
diff -puN arch/i386/Kconfig~i386-selectable-frequency-of-the-timer-interrupt arch/i386/Kconfig
--- 25/arch/i386/Kconfig~i386-selectable-frequency-of-the-timer-interrupt 2005-05-23 19:41:04.000000000 -0700
+++ 25-akpm/arch/i386/Kconfig 2005-05-23 19:41:04.000000000 -0700
@@ -1116,6 +1116,8 @@ config APM_REAL_MODE_POWER_OFF
a work-around for a number of buggy BIOSes. Switch this option on if
your computer crashes instead of powering off properly.
+source kernel/Kconfig.hz
+
endmenu
source "arch/i386/kernel/cpu/cpufreq/Kconfig"
diff -puN arch/x86_64/Kconfig~i386-selectable-frequency-of-the-timer-interrupt arch/x86_64/Kconfig
--- 25/arch/x86_64/Kconfig~i386-selectable-frequency-of-the-timer-interrupt 2005-05-23 19:41:04.000000000 -0700
+++ 25-akpm/arch/x86_64/Kconfig 2005-05-23 19:41:04.000000000 -0700
@@ -401,6 +401,8 @@ config SECCOMP
If unsure, say Y. Only embedded should say N here.
+source kernel/Kconfig.hz
+
endmenu
#
diff -puN include/asm-i386/param.h~i386-selectable-frequency-of-the-timer-interrupt include/asm-i386/param.h
--- 25/include/asm-i386/param.h~i386-selectable-frequency-of-the-timer-interrupt 2005-05-23 19:41:04.000000000 -0700
+++ 25-akpm/include/asm-i386/param.h 2005-05-23 19:41:04.000000000 -0700
@@ -1,8 +1,10 @@
+#include <linux/config.h>
+
#ifndef _ASMi386_PARAM_H
#define _ASMi386_PARAM_H
#ifdef __KERNEL__
-# define HZ 1000 /* Internal kernel timer frequency */
+# define HZ CONFIG_HZ /* Internal kernel timer frequency */
# define USER_HZ 100 /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC (USER_HZ) /* like times() */
#endif
diff -puN include/asm-x86_64/param.h~i386-selectable-frequency-of-the-timer-interrupt include/asm-x86_64/param.h
--- 25/include/asm-x86_64/param.h~i386-selectable-frequency-of-the-timer-interrupt 2005-05-23 19:41:04.000000000 -0700
+++ 25-akpm/include/asm-x86_64/param.h 2005-05-23 19:41:04.000000000 -0700
@@ -1,9 +1,11 @@
+#include <linux/config.h>
+
#ifndef _ASMx86_64_PARAM_H
#define _ASMx86_64_PARAM_H
#ifdef __KERNEL__
-# define HZ 1000 /* Internal kernel timer frequency */
-# define USER_HZ 100 /* .. some user interfaces are in "ticks */
+# define HZ CONFIG_HZ /* Internal kernel timer frequency */
+# define USER_HZ 100 /* .. some user interfaces are in "ticks */
#define CLOCKS_PER_SEC (USER_HZ) /* like times() */
#endif
diff -puN /dev/null kernel/Kconfig.hz
--- /dev/null 2003-09-15 06:40:47.000000000 -0700
+++ 25-akpm/kernel/Kconfig.hz 2005-05-23 19:41:04.000000000 -0700
@@ -0,0 +1,46 @@
+#
+# Timer Interrupt Frequency Configuration
+#
+
+choice
+ prompt "Timer frequency"
+ default HZ_250
+ help
+ Allows the configuration of the timer frequency. It is customary
+ to have the timer interrupt run at 1000 HZ but 100 HZ may be more
+ beneficial for servers and NUMA systems that do not need to have
+ a fast response for user interaction and that may experience bus
+ contention and cacheline bounces as a result of timer interrupts.
+ Note that the timer interrupt occurs on each processor in an SMP
+ environment leading to NR_CPUS * HZ number of timer interrupts
+ per second.
+
+
+ config HZ_100
+ bool "100 HZ"
+ help
+ 100 HZ is a typical choice for servers, SMP and NUMA systems
+ with lots of processors that may show reduced performance if
+ too many timer interrupts are occurring.
+
+ config HZ_250
+ bool "250 HZ"
+ help
+ 250 HZ is a good compromise choice allowing server performance
+ while also showing good interactive responsiveness even
+ on SMP and NUMA systems.
+
+ config HZ_1000
+ bool "1000 HZ"
+ help
+ 1000 HZ is the preferred choice for desktop systems and other
+ systems requiring fast interactive responses to events.
+
+endchoice
+
+config HZ
+ int
+ default 100 if HZ_100
+ default 250 if HZ_250
+ default 1000 if HZ_1000
+
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]