Re: [RFC] Avoid mutex starvation when optimistic spinning is disabled

From: Davidlohr Bueso
Date: Fri Jul 22 2016 - 14:03:34 EST


On Fri, 22 Jul 2016, Waiman Long wrote:

I think making mutex_trylock() fail maybe a bit too far. Do we really have any real workload that cause starvation problem because of that. Code that does mutex_trylock() in a loop can certainly cause lock starvation, but it is not how mutex_trylock() is supposed to be used. We can't build in safeguard for all the possible abuses of the mutex APIs.

True, and that's actually why I think that 'fixing' the !SPIN_ON_OWNER case
is a bit too far in the first place: most of the archs that will care about
this already have ARCH_SUPPORTS_ATOMIC_RMW. The extra code for dealing with
this is not worth it imo.

Thanks,
Davidlohr