在支持时间戳计数器( TSC )处理器中,Linux提供了使用TSC的高精度计时器选项。据我所知,TSC是一个可以读取的寄存器,但不提供以配置的速率中断CPU的选项。因此,对于定时器,Linux中的中断生成仍然必须依赖于HZ值通常设置为1000或250的I/ or (在x86上)。即使TSC提供微秒粒度的时间戳,根据HZ值的不同,计时器/调度粒度仍然是4ms或1ms。这种理解是正确的吗?或者,是否有使用TSC提高计时器粒度的选项?
Linux高分辨率计时器似乎开始在每个线程的范围内计数,而不是应用程序中的全局计数。
我试过使用CLOCK_PROCESS_CPUTIME_ID,但它给了我线程行为吗?CLOCK\_PROCESS\_CPUTIME\_ID (since Linux 2.6.12) High-resolution per-process timer from theCLOCK\_THREAD\_CPUTIME\_ID (since Linux 2.6.12) Thread-specific CPU-t