Re: RFC on fixing mutex spinning on owner

From: Peter Zijlstra
Date: Thu Mar 17 2016 - 03:36:17 EST


On Wed, Mar 16, 2016 at 10:17:51PM -0400, Steven Rostedt wrote:
> Actually, the preempt off section here is not really an issue:
>
> rcu_read_lock();
> while (owner_running(lock, owner)) {
> if (need_resched())
> break;
>
> cpu_relax_lowlatency();
> }
> rcu_read_unlock();
>
> Although preemption may be disabled, that "need_resched()" check will
> break out of the loop if a higher priority task were to want to run on
> this CPU.
>
> I probably should add a hook there to let the preemptoff tracer know
> that this is not an issue.

Urgh, there's a lot of such spin loops all over, that's going to be a
pain to annotate all.