CONFIG_HZ 决定了jiffies一次的时钟滴答,影响系统的调度和性能。
一般在内核中固定好的,不能在.config中强制修改,因为不会生效,一旦执行了menuconfig又会变为内核默认的。
在param.h文件中这样定义
#ifndef __ASM_PARAM_H
#define __ASM_PARAM_H
#ifdef __KERNEL__
# define HZCONFIG_HZ/* Internal kernel timer frequency */
# define USER_HZ100/* User interfaces are in "ticks" */
# define CLOCKS_PER_SEC(USER_HZ)/* like times() */
#else
# define HZ100
#endif
#define EXEC_PAGESIZE4096
#ifndef NOGROUP
#define NOGROUP (-1)
#endif
/* max length of hostname */
#define MAXHOSTNAMELEN 64
#endif在这里修改的话。编译的时候会在timeconst.h(由脚本timeconst.pl自动生成的文件)报错
#if HZ != 256
#error "kernel/timeconst.h has the wrong HZ value!"
#endif
可以这样修改:
在arch/arm/Kconfig中
看到
config HZ
int
default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
ARCH_S5PV210 || ARCH_EXYNOS4
default AT91_TIMER_HZ if ARCH_AT91
default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
default 100这样可以修改默认值 200.
为了能在menuconfig中修改这个值,可以添加字符串。
修改成
config HZ
int "TIME HZ"
default 256 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
ARCH_S5PV210 || ARCH_EXYNOS4
default AT91_TIMER_HZ if ARCH_AT91
default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
default 100