更改linux内核计时器

更改linux内核计时器,linux,timer,linux-kernel,Linux,Timer,Linux Kernel,我必须运行一个对延迟敏感的应用程序,我被要求将计时器分辨率更改为1000 Hz或更高。我在网上搜索了一下,找到了一些关于配置的网页 但是,文件中似乎还有其他一些相关的设置,因此我希望确保不会弄乱这些设置。我在这里发布一些输出 $cat /boot/config-2.6.28-11-generic | grep HZ # CONFIG_HZ_1000 is not set # CONFIG_HZ_300 is not set CONFIG_MACHZ_WDT=m CONFIG_NO_HZ=y CO

我必须运行一个对延迟敏感的应用程序,我被要求将计时器分辨率更改为1000 Hz或更高。我在网上搜索了一下,找到了一些关于配置的网页

但是,文件中似乎还有其他一些相关的设置,因此我希望确保不会弄乱这些设置。我在这里发布一些输出

$cat /boot/config-2.6.28-11-generic | grep HZ
# CONFIG_HZ_1000 is not set
# CONFIG_HZ_300 is not set
CONFIG_MACHZ_WDT=m
CONFIG_NO_HZ=y
CONFIG_HZ=250
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
那么第二行“#CONFIG_HZ_1000未设置”是否意味着不支持1000Hz?我是否必须只更改配置赫兹而不更改配置赫兹-250

PS:我正在Geode处理器上使用2.6内核(UbuntuJaunty)


EDIT1:我在我的台式机和开发机器上运行了一些代码。该代码被认为是一个精确的测量系统可以维持多快的计时器。输出约为183 Hz(在显影机上)。那么更改计时器是否有意义呢?

要更改计时器设置,需要重新编译内核。更改某些标准菜单配置工具中的选项,而不是文本文件中的选项


/boot/config…
文件只告诉您在特定的内核二进制文件中安装了什么。这不是您可以更改的配置文件。

不要直接编辑
.config
,除非您是Kbuild专家(如果您问这个问题,您不是Kbuild专家)。而是运行
make menuconfig
make xconfig
加载基于菜单的配置系统。或者,
make config
将执行一个基于行的配置过程(在该过程中,它会向您询问数百个有关配置内容的问题-不推荐)。相关选项位于“处理器类型和功能”下的“定时器频率”

也就是说,这可能没有必要。现代Linux可以使用高分辨率事件计时器(
CONFIG\u high\u RES\u timer
)来实现低延迟计时器,即使不增加计时器频率。对于无滴答声系统(
CONFIG\u NO\u HZ
),定时器频率几乎没有影响

另一方面,我不确定Geode CPU有什么定时器支持。您可能希望使用各种内核配置来运行,以了解获得低延迟性能所需的功能。您运行的测试测试的是最大调度频率,而不是调度延迟,因此与cyclictest结果进行比较会很有趣。如果您需要非常低的延迟,那么也可能会感兴趣

第二行,
#CONFIG_HZ_1000未设置
,是否表示不支持1000Hz

当配置选项不可用时,它就不在
.config
文件中

例如,这些内核选项:

# CONFIG_HZ_1000 is not set
# CONFIG_HZ_300 is not set
可供您设置

要设置它们,最安全的方法是使用基于菜单的界面,如
makemenuconfig

在menuconfig中,要查找给定内核配置参数的位置,请键入
/
打开搜索框