我只知道这Interrupt
是hardware signal assertion
处理器引脚造成的。但我想知道 Linux 操作系统如何处理它。
发生中断时发生的所有事情是什么?
是否可以增加 Linux CPU 调度程序允许进程运行的时间片长度?我怎么能这样做?
这个问题询问如何减少内核强制在同一 CPU 上运行的不同进程之间切换的频率。这是被描述为“抢占式多任务”的内核特性。此功能通常很好,因为它可以阻止占用 CPU 并使系统完全无响应的单个进程。然而,进程之间的切换是有代价的,因此需要权衡。
如果您有一个进程使用它可以获得的所有 CPU 时间,另一个进程与用户交互,那么更频繁地切换可以减少延迟响应。
如果您有两个进程使用了它们所能获得的所有 CPU 时间,那么减少切换频率可以让它们在同一时间内完成更多的工作。
我根据我对如何更改 Linux 上下文切换频率这个问题的最初反应来发布此内容 ?
我个人不想改变时间片。但是,我依稀记得这是一个带有CONFIG_HZ
构建时选项的东西。所以我想知道现在的情况。CPU 调度程序时间片是否仍然基于CONFIG_HZ
?
此外,在实践中构建时调整非常有限。对于 Linux 发行版,如果每个 CPU 架构可以有一个内核,并允许在运行时或至少在启动时对其进行配置,则更为实用。如果调整时间片仍然相关,是否有一种新方法不会在构建时将其锁定?
我正在阅读有关 jiffies 的信息,它会针对每个定时器中断进行更新。定时器中断的频率由编译时间常数 HZ 决定。
X86 上有很多硬件设备。1. RTC 2. 可编程中断定时器 3. 本地 APIC 4. 时间戳计数器 5. HPET
这是 Linux 内核用来增加 jiffie 值的设备。
Robert Love 的书说“可编程中断定时器”。是否还有效。
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm
# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc
Run Code Online (Sandbox Code Playgroud)
上面的 sys 文件是否提供了该信息?