Re: [PATCH v4 3/3] locking/mutex: Ensure forward progress of waiter-spinner

From: Peter Zijlstra
Date: Wed Aug 10 2016 - 15:13:07 EST


On Tue, Aug 09, 2016 at 02:00:00PM -0400, Waiman Long wrote:
> >Alternative might be to use the LSB of mutex::owner, but that's going to
> >be somewhat icky too.
>
> I was thinking about doing that. However, the owner field is used in quite a
> number of places. It may be a bit risky to change all of them.

Agreed.

> >I'm not sure the 32bit platforms are going to be excited about growing
> >struct mutex...
>
> Or we can make this a 64-bit architecture specific change if the increase in
> mutex size is a real concern. Actually, we don't need to use a list_head
> structure for wait_list. It can be just a pointer to mutex_waiter that has
> the list_head structure. This can save a pointer from the structure.

Just grow the thing, we can poke at it later if we get complaints.