[PATCH] sched/core: Update stale comment in try_to_wake_up()

From: Ingo Molnar
Date: Wed Oct 04 2023 - 05:40:02 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Wed, Oct 04, 2023 at 11:31:26AM +0200, Ingo Molnar wrote:
> >
> > * Zhang Qiao <zhangqiao22@xxxxxxxxxx> wrote:
> >
> > > Since commit 9b3c4ab3045e ("sched,rcu: Rework
> > > try_invoke_on_locked_down_task()") renamed
> > > try_invoke_on_locked_down_task() to task_call_func().
> > > Now, update some comment about it.
> > >
> > > Signed-off-by: Zhang Qiao <zhangqiao22@xxxxxxxxxx>
> > > ---
> > > kernel/sched/core.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> > > index 0d18c3969f90..540ac33ddb80 100644
> > > --- a/kernel/sched/core.c
> > > +++ b/kernel/sched/core.c
> > > @@ -4186,7 +4186,7 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags)
> > > * Pairs with the LOCK+smp_mb__after_spinlock() on rq->lock in
> > > * __schedule(). See the comment for smp_mb__after_spinlock().
> > > *
> > > - * A similar smb_rmb() lives in try_invoke_on_locked_down_task().
> > > + * A similar smb_rmb() lives in task_call_func().
> >
> > Except the matching smp_rmb() doesn't live in task_call_func() anymore, so
> > you now turned a stale comment into a misleading one ...
>
> It moved, *again*, it's now in __task_needs_rq_lock() :-)

Yeah, I know, see:

bdf85bec2b1e ("sched/core: Update stale comment in try_to_wake_up()")

Thanks,

Ingo

====================>
From: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Wed, 4 Oct 2023 11:33:36 +0200
Subject: [PATCH] sched/core: Update stale comment in try_to_wake_up()

The following commit:

9b3c4ab3045e ("sched,rcu: Rework try_invoke_on_locked_down_task()")

... renamed try_invoke_on_locked_down_task() to task_call_func(),
but forgot to update the comment in try_to_wake_up().

But it turns out that the smp_rmb() doesn't live in task_call_func()
either, it was moved to __task_needs_rq_lock() in:

91dabf33ae5d ("sched: Fix race in task_call_func()")

Fix that now.

Also fix the s/smb/smp typo while at it.

Reported-by: Zhang Qiao <zhangqiao22@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20230731085759.11443-1-zhangqiao22@xxxxxxxxxx
---
kernel/sched/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 65e10ac34660..f5783cb16791 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4237,7 +4237,7 @@ int try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags)
* Pairs with the LOCK+smp_mb__after_spinlock() on rq->lock in
* __schedule(). See the comment for smp_mb__after_spinlock().
*
- * A similar smb_rmb() lives in try_invoke_on_locked_down_task().
+ * A similar smp_rmb() lives in __task_needs_rq_lock().
*/
smp_rmb();
if (READ_ONCE(p->on_rq) && ttwu_runnable(p, wake_flags))