diff options
-rw-r--r-- | arch/i386/Kconfig | 2 | ||||
-rw-r--r-- | arch/x86_64/Kconfig | 2 | ||||
-rw-r--r-- | include/asm-i386/param.h | 4 | ||||
-rw-r--r-- | include/asm-x86_64/param.h | 6 | ||||
-rw-r--r-- | kernel/Kconfig.hz | 46 |
5 files changed, 57 insertions, 3 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index bfdcedef06e1..d4ae5f9ceae6 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig | |||
@@ -961,6 +961,8 @@ config SECCOMP | |||
961 | 961 | ||
962 | If unsure, say Y. Only embedded should say N here. | 962 | If unsure, say Y. Only embedded should say N here. |
963 | 963 | ||
964 | source kernel/Kconfig.hz | ||
965 | |||
964 | endmenu | 966 | endmenu |
965 | 967 | ||
966 | 968 | ||
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index 61ed16652347..db259757dc8a 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig | |||
@@ -402,6 +402,8 @@ config SECCOMP | |||
402 | 402 | ||
403 | If unsure, say Y. Only embedded should say N here. | 403 | If unsure, say Y. Only embedded should say N here. |
404 | 404 | ||
405 | source kernel/Kconfig.hz | ||
406 | |||
405 | endmenu | 407 | endmenu |
406 | 408 | ||
407 | # | 409 | # |
diff --git a/include/asm-i386/param.h b/include/asm-i386/param.h index b6440526e42a..fa02e67ea86b 100644 --- a/include/asm-i386/param.h +++ b/include/asm-i386/param.h | |||
@@ -1,8 +1,10 @@ | |||
1 | #include <linux/config.h> | ||
2 | |||
1 | #ifndef _ASMi386_PARAM_H | 3 | #ifndef _ASMi386_PARAM_H |
2 | #define _ASMi386_PARAM_H | 4 | #define _ASMi386_PARAM_H |
3 | 5 | ||
4 | #ifdef __KERNEL__ | 6 | #ifdef __KERNEL__ |
5 | # define HZ 1000 /* Internal kernel timer frequency */ | 7 | # define HZ CONFIG_HZ /* Internal kernel timer frequency */ |
6 | # define USER_HZ 100 /* .. some user interfaces are in "ticks" */ | 8 | # define USER_HZ 100 /* .. some user interfaces are in "ticks" */ |
7 | # define CLOCKS_PER_SEC (USER_HZ) /* like times() */ | 9 | # define CLOCKS_PER_SEC (USER_HZ) /* like times() */ |
8 | #endif | 10 | #endif |
diff --git a/include/asm-x86_64/param.h b/include/asm-x86_64/param.h index b707f0568c9e..40b11937180d 100644 --- a/include/asm-x86_64/param.h +++ b/include/asm-x86_64/param.h | |||
@@ -1,9 +1,11 @@ | |||
1 | #include <linux/config.h> | ||
2 | |||
1 | #ifndef _ASMx86_64_PARAM_H | 3 | #ifndef _ASMx86_64_PARAM_H |
2 | #define _ASMx86_64_PARAM_H | 4 | #define _ASMx86_64_PARAM_H |
3 | 5 | ||
4 | #ifdef __KERNEL__ | 6 | #ifdef __KERNEL__ |
5 | # define HZ 1000 /* Internal kernel timer frequency */ | 7 | # define HZ CONFIG_HZ /* Internal kernel timer frequency */ |
6 | # define USER_HZ 100 /* .. some user interfaces are in "ticks */ | 8 | # define USER_HZ 100 /* .. some user interfaces are in "ticks */ |
7 | #define CLOCKS_PER_SEC (USER_HZ) /* like times() */ | 9 | #define CLOCKS_PER_SEC (USER_HZ) /* like times() */ |
8 | #endif | 10 | #endif |
9 | 11 | ||
diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz new file mode 100644 index 000000000000..248e1c396f8b --- /dev/null +++ b/kernel/Kconfig.hz | |||
@@ -0,0 +1,46 @@ | |||
1 | # | ||
2 | # Timer Interrupt Frequency Configuration | ||
3 | # | ||
4 | |||
5 | choice | ||
6 | prompt "Timer frequency" | ||
7 | default HZ_250 | ||
8 | help | ||
9 | Allows the configuration of the timer frequency. It is customary | ||
10 | to have the timer interrupt run at 1000 HZ but 100 HZ may be more | ||
11 | beneficial for servers and NUMA systems that do not need to have | ||
12 | a fast response for user interaction and that may experience bus | ||
13 | contention and cacheline bounces as a result of timer interrupts. | ||
14 | Note that the timer interrupt occurs on each processor in an SMP | ||
15 | environment leading to NR_CPUS * HZ number of timer interrupts | ||
16 | per second. | ||
17 | |||
18 | |||
19 | config HZ_100 | ||
20 | bool "100 HZ" | ||
21 | help | ||
22 | 100 HZ is a typical choice for servers, SMP and NUMA systems | ||
23 | with lots of processors that may show reduced performance if | ||
24 | too many timer interrupts are occurring. | ||
25 | |||
26 | config HZ_250 | ||
27 | bool "250 HZ" | ||
28 | help | ||
29 | 250 HZ is a good compromise choice allowing server performance | ||
30 | while also showing good interactive responsiveness even | ||
31 | on SMP and NUMA systems. | ||
32 | |||
33 | config HZ_1000 | ||
34 | bool "1000 HZ" | ||
35 | help | ||
36 | 1000 HZ is the preferred choice for desktop systems and other | ||
37 | systems requiring fast interactive responses to events. | ||
38 | |||
39 | endchoice | ||
40 | |||
41 | config HZ | ||
42 | int | ||
43 | default 100 if HZ_100 | ||
44 | default 250 if HZ_250 | ||
45 | default 1000 if HZ_1000 | ||
46 | |||