On Tue 2019-02-12 17:25:53, Sebastian Andrzej Siewior wrote: > From: Julia Cartwright <[email protected]> > > In order to enable the queuing of kthread work items from hardirq > context even when PREEMPT_RT_FULL is enabled, convert the worker > spin_lock to a raw_spin_lock. > > This is only acceptable to do because the work performed under the lock > is well-bounded and minimal.
I could confirm that it is well-bounded and minimal. The most expensive function probably is add_timer() called from __kthread_queue_delayed_work(). It might spin a bit to get timer->base->lock. > Cc: Sebastian Andrzej Siewior <[email protected]> > Cc: Guenter Roeck <[email protected]> > Reported-and-tested-by: Steffen Trumtrar <[email protected]> > Reported-by: Tim Sander <[email protected]> > Signed-off-by: Julia Cartwright <[email protected]> > Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Petr Mladek <[email protected]> Best Regards, Petr

