Re: [RFC PATCH-tip v4 07/10] locking/rwsem: Change RWSEM_WAITING_BIAS for better disambiguation

Waiman Long
2016-08-19T16:21:57Z

On 08/19/2016 01:57 AM, Wanpeng Li wrote:
> 2016-08-19 5:11 GMT+08:00 Waiman Long<Waiman.Long@hpe.com>:
>> When the count value is in between 0 and RWSEM_WAITING_BIAS, there
>> are 2 possibilities.
>> Either a writer is present and there is no waiter
> count = 0xffff0001
>
>> or there are waiters and readers. There is no easy way to
> count = 0xffff000X
>
> However, RWSEM_WAITING_BIAS is equal to 0xffff0000, so both these two
> cases are beyond RWSEM_WAITING_BIAS, right?
>
> Regards,
> Wanpeng Li

Perhaps I should make it clear that I am talking from a signed quantity
point of view (it is an atomic_long_t). So

RWSEM_WAITING_BIAS < RWSEM_ACTIVE_WRITE_BIAS < 0

Hope this clarify your question.

Cheers,
Longman