Re: [PATCH] locking/mutex: Avoid spinner vs waiter starvation

From: Waiman Long
Date: Fri Feb 12 2016 - 13:49:38 EST


On 02/03/2016 08:20 PM, Ding Tianhong wrote:
On 2016/2/4 3:24, Davidlohr Bueso wrote:
On Wed, 03 Feb 2016, Ding Tianhong wrote:

Agree, but this patch is going to help the waiter in the wait list to get the lock, your scene probability looks more
too low and I don't think it is a problem.
Sure, I was in fact implying its not the end of the world,
although it will be interesting to see the impact on different
(non pathological) workloads, even if it only affects a single
waiter. Also, technically this issue can also affect rwsems if
only using writers, but that's obviously pretty idiotic, so I
wouldn't worry about it.

Thanks,
Davidlohr

Hi Davidlohr, Peter:

According Davidlohr's suggestion, I use several VM to test Peter's patch, and sadly I found one VM
still happen Hung Task for this problem, so I think we still need to think more about this solution.

Thanks.
Ding

After thinking about it, it may be the case the hung task missed the wakeup. If no new task enters the wait queue again, the hung task will never get woken up. Would you mind trying out my patch to see if you are still seeing hung task or not?

Thanks,
Longman

Attachment: longman-mutex-v2-patch.tar.gz
Description: GNU Zip compressed data