Messages in this thread | | | Date | Fri, 29 May 2020 10:04:18 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH v2 2/2] workqueue: Convert the pool::lock and wq_mayday_lock to raw_spinlock_t |
| |
On Wed, May 27, 2020 at 09:46:33PM +0200, Sebastian Andrzej Siewior wrote: > 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>
Applied 1-2 to wq/for-5.8.
Thanks.
-- tejun
| |