全部博文(198)
分类: LINUX
2018-04-03 16:06:56
CONFIG_HZ 决定了jiffies一次的时钟滴答,影响系统的调度和性能。
一般在内核中固定好的,不能在.config中强制修改,因为不会生效,一旦执行了menuconfig又会变为内核默认的。
在param.h文件中这样定义
[cpp] view plain copy
1. #ifndef __ASM_PARAM_H
2. #define __ASM_PARAM_H
3.
4. #ifdef __KERNEL__
5. # define HZ CONFIG_HZ /* Internal kernel timer frequency */
6. # define USER_HZ 100 /* User interfaces are in "ticks" */
7. # define CLOCKS_PER_SEC (USER_HZ) /* like times() */
8. #else
9. # define HZ 100
10. #endif
11.
12. #define EXEC_PAGESIZE 4096
13.
14. #ifndef NOGROUP
15. #define NOGROUP (-1)
16. #endif
17.
18. /* max length of hostname */
19. #define MAXHOSTNAMELEN 64
20.
21. #endif
在这里修改的话。编译的时候会在timeconst.h(由脚本timeconst.pl自动生成的文件)报错
[cpp] view plain copy
1. #if HZ != 256
2. #error "kernel/timeconst.h has the wrong HZ value!"
3. #endif
可以这样修改:
在arch/arm/Kconfig中
看到
[cpp] view plain copy
1. config HZ
2. int
3. default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
4. ARCH_S5PV210 || ARCH_EXYNOS4
5. default AT91_TIMER_HZ if ARCH_AT91
6. default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
7. default 100
这样可以修改默认值 200.
为了能在menuconfig中修改这个值,可以添加字符串。
修改成
[cpp] view plain copy
1. config HZ
2. int "TIME HZ"
3. default 256 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
4. ARCH_S5PV210 || ARCH_EXYNOS4
5. default AT91_TIMER_HZ if ARCH_AT91
6. default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
7. default 100
ARM:arch/arm/include/asm/param.h