Linux-rt-users Archive on lore.kernel.org
 help / color / Atom feed
* [RT PATCH] locking/rwsem-rt: Remove might_sleep() in __up_read()
@ 2021-04-06 22:19 Andrew Halaney
  2021-04-26 16:42 ` Andrew Halaney
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Halaney @ 2021-04-06 22:19 UTC (permalink / raw)
  To: bigeasy; +Cc: linux-kernel, linux-rt-users, Andrew Halaney, Chunyu Hu

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@redhat.com>
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
---
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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RT PATCH] locking/rwsem-rt: Remove might_sleep() in __up_read()
  2021-04-06 22:19 [RT PATCH] locking/rwsem-rt: Remove might_sleep() in __up_read() Andrew Halaney
@ 2021-04-26 16:42 ` Andrew Halaney
  2021-04-26 18:16   ` Thomas Gleixner
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Halaney @ 2021-04-26 16:42 UTC (permalink / raw)
  To: bigeasy; +Cc: linux-kernel, linux-rt-users, Chunyu Hu

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@redhat.com>
> Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
> ---
> 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?

Thanks,
Andrew


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RT PATCH] locking/rwsem-rt: Remove might_sleep() in __up_read()
  2021-04-26 16:42 ` Andrew Halaney
@ 2021-04-26 18:16   ` Thomas Gleixner
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Gleixner @ 2021-04-26 18:16 UTC (permalink / raw)
  To: Andrew Halaney, bigeasy; +Cc: linux-kernel, linux-rt-users, Chunyu Hu

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@redhat.com>
>> Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
>> ---
>> 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-06 22:19 [RT PATCH] locking/rwsem-rt: Remove might_sleep() in __up_read() Andrew Halaney
2021-04-26 16:42 ` Andrew Halaney
2021-04-26 18:16   ` Thomas Gleixner

Linux-rt-users Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-rt-users/0 linux-rt-users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-rt-users linux-rt-users/ https://lore.kernel.org/linux-rt-users \
		linux-rt-users@vger.kernel.org
	public-inbox-index linux-rt-users

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-rt-users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git