Getting Around to It: Deferred Work in the Linux Kernel - Alison Chaiken, Aurora Innovation
ฝัง
- เผยแพร่เมื่อ 17 พ.ย. 2024
- Getting Around to It: Deferred Work in the Linux Kernel - Alison Chaiken, Aurora Innovation
The kernel has many methods for scheduling delayed work. How do they differ? How might kernel users and developers detect and minimize misbehavior of related kernel threads? Computationally intensive tasks of long duration are often executed by workqueues. Kworkers are long-lived kernel threads which execute the enqueued tasks. Perhaps surprisingly, a given kworker may process a variety of unrelated workloads. Recent kernel releases include improvements to kworker performance and new tools to monitor their behavior. Softirqs are an unloved legacy callback which come in 10 flavors . Softirqs may "piggyback" directly after an hard IRQ, or be executed eventually by the somewhat notorious ksoftirqd threads. Softirqs are a particular headache in RT Linux due to "the new big kernel lock", which refers to the need to serialize them on a per-CPU basis. Signs of system distress include deadline misses, RCU stalls and watchdog timeouts. Long-running efforts to minimize problems caused by ksoftirqd in RT may soon reach mainline. The talk will demonstrate how to employ tools to keep watch on softirqs and wqs and some tips to improve performance.