[PATCH] locking/rtmutex: Fix misleading comment

Peter Zijlstra posted 1 patch 1 month, 2 weeks ago
There is a newer version of this series
[PATCH] locking/rtmutex: Fix misleading comment
Posted by Peter Zijlstra 1 month, 2 weeks ago

Going through the RCU-boost and rtmutex code, I ran into this utterly
confusing comment. Fix it to avoid confusing future readers.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
diff --git a/kernel/locking/rtmutex_api.c b/kernel/locking/rtmutex_api.c
index a6974d044593..587ede8073c0 100644
--- a/kernel/locking/rtmutex_api.c
+++ b/kernel/locking/rtmutex_api.c
@@ -175,7 +175,7 @@ bool __sched __rt_mutex_futex_unlock(struct rt_mutex_base *lock,
 	}
 
 	/*
-	 * We've already deboosted, mark_wakeup_next_waiter() will
+	 * This will deboost, mark_wakeup_next_waiter() will
 	 * retain preempt_disabled when we drop the wait_lock, to
 	 * avoid inversion prior to the wakeup.  preempt_disable()
 	 * therein pairs with rt_mutex_postunlock().
Re: [PATCH] locking/rtmutex: Fix misleading comment
Posted by Sebastian Andrzej Siewior 1 month, 2 weeks ago
On 2024-10-08 11:26:06 [+0200], Peter Zijlstra wrote:
> 
> Going through the RCU-boost and rtmutex code, I ran into this utterly
> confusing comment. Fix it to avoid confusing future readers.

Correct.

Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> ---
> diff --git a/kernel/locking/rtmutex_api.c b/kernel/locking/rtmutex_api.c
> index a6974d044593..587ede8073c0 100644
> --- a/kernel/locking/rtmutex_api.c
> +++ b/kernel/locking/rtmutex_api.c
> @@ -175,7 +175,7 @@ bool __sched __rt_mutex_futex_unlock(struct rt_mutex_base *lock,
>  	}
>  
>  	/*
> -	 * We've already deboosted, mark_wakeup_next_waiter() will
> +	 * This will deboost, mark_wakeup_next_waiter() will
  +	 * mark_wakeup_next_waiter() will deboost and
>  	 * retain preempt_disabled when we drop the wait_lock, to
>  	 * avoid inversion prior to the wakeup.  preempt_disable()
>  	 * therein pairs with rt_mutex_postunlock().

This could make it obvious that mark_wakeup_next_waiter() does all the
things.

Sebastian
[tip: locking/core] locking/rtmutex: Fix misleading comment
Posted by tip-bot2 for Peter Zijlstra 1 month ago
The following commit has been merged into the locking/core branch of tip:

Commit-ID:     d12b802f183667d4c28589314c99c380a458d57e
Gitweb:        https://git.kernel.org/tip/d12b802f183667d4c28589314c99c380a458d57e
Author:        Peter Zijlstra <peterz@infradead.org>
AuthorDate:    Tue, 08 Oct 2024 11:26:06 +02:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Thu, 24 Oct 2024 23:03:30 +02:00

locking/rtmutex: Fix misleading comment

Going through the RCU-boost and rtmutex code, I ran into this utterly
confusing comment. Fix it to avoid confusing future readers.

[ tglx: Wordsmithed the comment ]

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://lore.kernel.org/all/20241008092606.GJ33184@noisy.programming.kicks-ass.net

---
 kernel/locking/rtmutex_api.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/locking/rtmutex_api.c b/kernel/locking/rtmutex_api.c
index a6974d0..7e79258 100644
--- a/kernel/locking/rtmutex_api.c
+++ b/kernel/locking/rtmutex_api.c
@@ -175,10 +175,10 @@ bool __sched __rt_mutex_futex_unlock(struct rt_mutex_base *lock,
 	}
 
 	/*
-	 * We've already deboosted, mark_wakeup_next_waiter() will
-	 * retain preempt_disabled when we drop the wait_lock, to
-	 * avoid inversion prior to the wakeup.  preempt_disable()
-	 * therein pairs with rt_mutex_postunlock().
+	 * mark_wakeup_next_waiter() deboosts and retains preemption
+	 * disabled when dropping the wait_lock, to avoid inversion prior
+	 * to the wakeup.  preempt_disable() therein pairs with the
+	 * preempt_enable() in rt_mutex_postunlock().
 	 */
 	mark_wakeup_next_waiter(wqh, lock);