diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2020-05-27 22:46:33 +0300 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2020-05-29 17:03:47 +0300 |
commit | a9b8a985294debae00f6c087dfec8c384d30a3b9 (patch) | |
tree | c09dc4c70ed5633975815ab6b9ca1a1e93208343 /tools/perf/scripts/python | |
parent | d8bb65ab70f702531aaaa11d9710f9450078e295 (diff) | |
download | linux-a9b8a985294debae00f6c087dfec8c384d30a3b9.tar.xz |
workqueue: Convert the pool::lock and wq_mayday_lock to raw_spinlock_t
The workqueue code has it's internal spinlocks (pool::lock), which
are acquired on most workqueue operations. These spinlocks are
converted to 'sleeping' spinlocks on a RT-kernel.
Workqueue functions can be invoked from contexts which are truly atomic
even on a PREEMPT_RT enabled kernel. Taking sleeping locks from such
contexts is forbidden.
The pool::lock hold times are bound and the code sections are
relatively short, which allows to convert pool::lock and as a
consequence wq_mayday_lock to raw spinlocks which are truly spinning
locks even on a PREEMPT_RT kernel.
With the previous conversion of the manager waitqueue to a simple
waitqueue workqueues are now fully RT compliant.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions