diff options
author | John Stultz <jstultz@google.com> | 2024-12-17 07:07:35 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2024-12-20 17:31:21 +0300 |
commit | abfdccd6af2b071951633e57d6322c46a1ea791f (patch) | |
tree | d852a162cbe01984b07795b714d31e39b6e85450 /tools/perf/scripts/python/task-analyzer.py | |
parent | c2db11a750fb626d0d04f2dc76e548a1f07617df (diff) | |
download | linux-abfdccd6af2b071951633e57d6322c46a1ea791f.tar.xz |
sched/wake_q: Add helper to call wake_up_q after unlock with preemption disabled
A common pattern seen when wake_qs are used to defer a wakeup
until after a lock is released is something like:
preempt_disable();
raw_spin_unlock(lock);
wake_up_q(wake_q);
preempt_enable();
So create some raw_spin_unlock*_wake() helper functions to clean
this up.
Applies on top of the fix I submitted here:
https://lore.kernel.org/lkml/20241212222138.2400498-1-jstultz@google.com/
NOTE: I recognise the unlock()/unlock_irq()/unlock_irqrestore()
variants creates its own duplication, which we could use a macro
to generate the similar functions, but I often dislike how those
generation macros making finding the actual implementation
harder, so I left the three functions as is. If folks would
prefer otherwise, let me know and I'll switch it.
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: John Stultz <jstultz@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20241217040803.243420-1-jstultz@google.com
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions