Re: [RT PATCH] locking/rwsem-rt: Remove might_sleep() in __up_read()

From: Thomas Gleixner
Date: Mon Apr 26 2021 - 14:16:40 EST


On Mon, Apr 26 2021 at 11:42, Andrew Halaney wrote:
> On Tue, Apr 06, 2021 at 05:19:52PM -0500, Andrew Halaney wrote:
>> There's no chance of sleeping here, the reader is giving up the
>> lock and possibly waking up the writer who is waiting on it.
>>
>> Reported-by: Chunyu Hu <chuhu@xxxxxxxxxx>
>> Signed-off-by: Andrew Halaney <ahalaney@xxxxxxxxxx>
>> ---
>> Hello,
>>
>> I ran into a warning caused by this, and I think the warning is
>> incorrect. Please let me know if I'm wrong!
>> I'm working off of linux-5.12.y-rt, but this applies cleanly to older
>> stable branches as well.
>>
>> Thanks,
>> Andrew
>>
>> kernel/locking/rwsem-rt.c | 1 -
>> 1 file changed, 1 deletion(-)
>>
>> diff --git a/kernel/locking/rwsem-rt.c b/kernel/locking/rwsem-rt.c
>> index 274172d5bb3a..b61edc4dcb73 100644
>> --- a/kernel/locking/rwsem-rt.c
>> +++ b/kernel/locking/rwsem-rt.c
>> @@ -198,7 +198,6 @@ void __up_read(struct rw_semaphore *sem)
>> if (!atomic_dec_and_test(&sem->readers))
>> return;
>>
>> - might_sleep();
>> raw_spin_lock_irq(&m->wait_lock);
>> /*
>> * Wake the writer, i.e. the rtmutex owner. It might release the
>> --
>> 2.30.2
>
> Just a gentle follow up, any feedback?

Looks correct. Will go into the next rt-release.

Thanks,

tglx