diff options
| author | Aaron Tomlin <atomlin@atomlin.com> | 2026-09-04 15:34:47 -0400 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-09-04 10:21:02 -1000 |
| commit | 8bbd858c4710ff90491365c09209d9d6f70ced77 (patch) | |
| tree | 72a9493957f53e273d94969aa647c2d8395b1a9d /scripts/Makefile.thinlto | |
| parent | a53b50e21af2eb8d4e74c8f84e409692a3332588 (diff) | |
| download | linux-next-8bbd858c4710ff90491365c09209d9d6f70ced77.tar.gz linux-next-8bbd858c4710ff90491365c09209d9d6f70ced77.zip | |
workqueue: Add workqueue_bh_budget_yield tracepoint
Bottom-Half (BH) workqueues execute work items in softirq context.
To prevent softirqs from starving user and kernel threads, bh_worker()
enforces execution limits (i.e., BH_WORKER_JIFFIES and BH_WORKER_RESTARTS).
When keep_working() is still true but either the time slice or restart
count is exhausted, bh_worker() yields execution and re-raises the
softirq via kick_bh_pool().
Currently, there is no observability into when a BH worker hits these
limits and is forced to yield.
Add the workqueue_bh_budget_yield tracepoint, emitted when bh_worker() exits
the processing loop with pending work items remaining. It records, the
worker pool ID, pool CPU, number of loop restarts consumed, a boolean flag
indicating whether the yield was due to a time slice timeout, and a boolean
flag indicating whether this is a high-priority BH pool.
Signed-off-by: Aaron Tomlin <atomlin@atomlin.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
