从 ARM64 定时器到 Linux hrtimer:一条完
Linux 实现定时,靠的是“秒表加闹钟”这套组合。
硬件分工:ARM64 里的系统计数器是秒表,负责走时。比较器是闹钟,到点发中断叫醒 CPU。
软件复用:系统里一堆任务都要定时。hrtimer 当包工头,只把最早到期的时间告诉硬件。
唤醒机制:时间一到,CPU 就处理到期任务。比如叫醒睡了 10 毫秒的进程。不过它只是有资格跑了,具体啥时候跑还得看调度。
省电门道:没任务时就停掉固定闹钟。这就是 NO_HZ,能省下不少空转耗电。
说白了,硬件只管掐准点叫人,软件负责排好长队。
原文从 ARM64 定时器到 Linux hrtimer:一条完整链路