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