Re: [PATCH v4 3/5] locking/rwsem: Don't wake up one's own task

From: Peter Zijlstra
Date: Wed May 18 2016 - 06:30:34 EST


On Tue, May 17, 2016 at 09:26:21PM -0400, Waiman Long wrote:
> As rwsem_down_read_failed() will queue itself and potentially call
> __rwsem_do_wake(sem, RWSEM_WAKE_ANY), it is possible that a reader
> will try to wake up its own task. This patch adds a check to make
> sure that this won't happen.
>

Yes, this is 'weird', but why are we fixing it at the cost of an extra
branch?