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

Reply via email to