mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] stop_machine: Fix the documentation for a NULL cpus argument
@ 2026-02-17 13:11 Thomas Weißschuh
  2026-02-17 16:29 ` Paul E. McKenney
  2026-02-17 16:31 ` Sebastian Andrzej Siewior
  0 siblings, 2 replies; 7+ messages in thread
From: Thomas Weißschuh @ 2026-02-17 13:11 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Sebastian Andrzej Siewior, linux-kernel, Thomas Weißschuh

A recent refactoring of the kernel-docs for stop machine changed the
description of the cpus parameter from "NULL = any online cpu"
to "NULL = run on each online CPU".

However the callback is only executed on a single CPU, not all of them.
The old wording was a bit ambiguous and could have been read both ways.

Reword the documentation to be correct again and hopefully also clearer.

Fixes: fc6f89dc7078 ("stop_machine: Improve kernel-doc function-header comments")
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
There doesn't seem to be a formal maintainer for stop_machine.
Paul, could you take this through your tree?
---
 include/linux/stop_machine.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/stop_machine.h b/include/linux/stop_machine.h
index 72820503514c..01011113d226 100644
--- a/include/linux/stop_machine.h
+++ b/include/linux/stop_machine.h
@@ -99,7 +99,7 @@ static inline void print_stop_info(const char *log_lvl, struct task_struct *task
  * stop_machine: freeze the machine on all CPUs and run this function
  * @fn: the function to run
  * @data: the data ptr to pass to @fn()
- * @cpus: the cpus to run @fn() on (NULL = run on each online CPU)
+ * @cpus: the cpus to run @fn() on (NULL = one unspecified online CPU)
  *
  * Description: This causes a thread to be scheduled on every CPU, which
  * will run with interrupts disabled.  Each CPU specified by @cpus will
@@ -133,7 +133,7 @@ int stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus);
  * stop_machine_cpuslocked: freeze the machine on all CPUs and run this function
  * @fn: the function to run
  * @data: the data ptr to pass to @fn()
- * @cpus: the cpus to run @fn() on (NULL = run on each online CPU)
+ * @cpus: the cpus to run @fn() on (NULL = one unspecified online CPU)
  *
  * Same as above.  Avoids nested calls to cpus_read_lock().
  *

---
base-commit: 9702969978695d9a699a1f34771580cdbb153b33
change-id: 20260217-stop_machine-comment-795b2bd2a745

Best regards,
-- 
Thomas Weißschuh <thomas.weissschuh@linutronix.de>


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

* Re: [PATCH] stop_machine: Fix the documentation for a NULL cpus argument
  2026-02-17 13:11 [PATCH] stop_machine: Fix the documentation for a NULL cpus argument Thomas Weißschuh
@ 2026-02-17 16:29 ` Paul E. McKenney
  2026-02-17 16:31 ` Sebastian Andrzej Siewior
  1 sibling, 0 replies; 7+ messages in thread
From: Paul E. McKenney @ 2026-02-17 16:29 UTC (permalink / raw)
  To: Thomas Weißschuh; +Cc: Sebastian Andrzej Siewior, linux-kernel

On Tue, Feb 17, 2026 at 02:11:11PM +0100, Thomas Weißschuh wrote:
> A recent refactoring of the kernel-docs for stop machine changed the
> description of the cpus parameter from "NULL = any online cpu"
> to "NULL = run on each online CPU".
> 
> However the callback is only executed on a single CPU, not all of them.
> The old wording was a bit ambiguous and could have been read both ways.
> 
> Reword the documentation to be correct again and hopefully also clearer.
> 
> Fixes: fc6f89dc7078 ("stop_machine: Improve kernel-doc function-header comments")
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> ---
> There doesn't seem to be a formal maintainer for stop_machine.
> Paul, could you take this through your tree?

Good catch, and I have pulled it in for further review.  Perhaps the
various LLMs will test it as well?  ;-)

							Thanx, Paul

> ---
>  include/linux/stop_machine.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/stop_machine.h b/include/linux/stop_machine.h
> index 72820503514c..01011113d226 100644
> --- a/include/linux/stop_machine.h
> +++ b/include/linux/stop_machine.h
> @@ -99,7 +99,7 @@ static inline void print_stop_info(const char *log_lvl, struct task_struct *task
>   * stop_machine: freeze the machine on all CPUs and run this function
>   * @fn: the function to run
>   * @data: the data ptr to pass to @fn()
> - * @cpus: the cpus to run @fn() on (NULL = run on each online CPU)
> + * @cpus: the cpus to run @fn() on (NULL = one unspecified online CPU)
>   *
>   * Description: This causes a thread to be scheduled on every CPU, which
>   * will run with interrupts disabled.  Each CPU specified by @cpus will
> @@ -133,7 +133,7 @@ int stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus);
>   * stop_machine_cpuslocked: freeze the machine on all CPUs and run this function
>   * @fn: the function to run
>   * @data: the data ptr to pass to @fn()
> - * @cpus: the cpus to run @fn() on (NULL = run on each online CPU)
> + * @cpus: the cpus to run @fn() on (NULL = one unspecified online CPU)
>   *
>   * Same as above.  Avoids nested calls to cpus_read_lock().
>   *
> 
> ---
> base-commit: 9702969978695d9a699a1f34771580cdbb153b33
> change-id: 20260217-stop_machine-comment-795b2bd2a745
> 
> Best regards,
> -- 
> Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> 

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

* Re: [PATCH] stop_machine: Fix the documentation for a NULL cpus argument
  2026-02-17 13:11 [PATCH] stop_machine: Fix the documentation for a NULL cpus argument Thomas Weißschuh
  2026-02-17 16:29 ` Paul E. McKenney
@ 2026-02-17 16:31 ` Sebastian Andrzej Siewior
  2026-02-17 17:01   ` Paul E. McKenney
  1 sibling, 1 reply; 7+ messages in thread
From: Sebastian Andrzej Siewior @ 2026-02-17 16:31 UTC (permalink / raw)
  To: Thomas Weißschuh; +Cc: Paul E. McKenney, linux-kernel

On 2026-02-17 14:11:11 [+0100], Thomas Weißschuh wrote:
> A recent refactoring of the kernel-docs for stop machine changed the
> description of the cpus parameter from "NULL = any online cpu"
> to "NULL = run on each online CPU".
> 
> However the callback is only executed on a single CPU, not all of them.
> The old wording was a bit ambiguous and could have been read both ways.
> 
> Reword the documentation to be correct again and hopefully also clearer.

It is the first online CPU.
It temporary freezes all CPUs and runs the function the first online
CPU. I would prefer this over "unspecified".
Unless you point that it does hold and CPU hotplug locks.

> Fixes: fc6f89dc7078 ("stop_machine: Improve kernel-doc function-header comments")
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>

Sebastian

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

* Re: [PATCH] stop_machine: Fix the documentation for a NULL cpus argument
  2026-02-17 16:31 ` Sebastian Andrzej Siewior
@ 2026-02-17 17:01   ` Paul E. McKenney
  2026-02-18  7:26     ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 7+ messages in thread
From: Paul E. McKenney @ 2026-02-17 17:01 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior; +Cc: Thomas Weißschuh, linux-kernel

On Tue, Feb 17, 2026 at 05:31:05PM +0100, Sebastian Andrzej Siewior wrote:
> On 2026-02-17 14:11:11 [+0100], Thomas Weißschuh wrote:
> > A recent refactoring of the kernel-docs for stop machine changed the
> > description of the cpus parameter from "NULL = any online cpu"
> > to "NULL = run on each online CPU".
> > 
> > However the callback is only executed on a single CPU, not all of them.
> > The old wording was a bit ambiguous and could have been read both ways.
> > 
> > Reword the documentation to be correct again and hopefully also clearer.
> 
> It is the first online CPU.

Do we want to set that in stone?

							Thanx, Paul

> It temporary freezes all CPUs and runs the function the first online
> CPU. I would prefer this over "unspecified".
> Unless you point that it does hold and CPU hotplug locks.
> 
> > Fixes: fc6f89dc7078 ("stop_machine: Improve kernel-doc function-header comments")
> > Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> 
> Sebastian

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

* Re: [PATCH] stop_machine: Fix the documentation for a NULL cpus argument
  2026-02-17 17:01   ` Paul E. McKenney
@ 2026-02-18  7:26     ` Sebastian Andrzej Siewior
  2026-02-18 18:08       ` Paul E. McKenney
  0 siblings, 1 reply; 7+ messages in thread
From: Sebastian Andrzej Siewior @ 2026-02-18  7:26 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: Thomas Weißschuh, linux-kernel

On 2026-02-17 09:01:11 [-0800], Paul E. McKenney wrote:
> On Tue, Feb 17, 2026 at 05:31:05PM +0100, Sebastian Andrzej Siewior wrote:
> > On 2026-02-17 14:11:11 [+0100], Thomas Weißschuh wrote:
> > > A recent refactoring of the kernel-docs for stop machine changed the
> > > description of the cpus parameter from "NULL = any online cpu"
> > > to "NULL = run on each online CPU".
> > > 
> > > However the callback is only executed on a single CPU, not all of them.
> > > The old wording was a bit ambiguous and could have been read both ways.
> > > 
> > > Reword the documentation to be correct again and hopefully also clearer.
> > 
> > It is the first online CPU.
> 
> Do we want to set that in stone?

then keep it as is. I somehow don't like the wording but I'm not here
for bike shedding.

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

> 							Thanx, Paul
Sebastian

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

* Re: [PATCH] stop_machine: Fix the documentation for a NULL cpus argument
  2026-02-18  7:26     ` Sebastian Andrzej Siewior
@ 2026-02-18 18:08       ` Paul E. McKenney
  0 siblings, 0 replies; 7+ messages in thread
From: Paul E. McKenney @ 2026-02-18 18:08 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior; +Cc: Thomas Weißschuh, linux-kernel

On Wed, Feb 18, 2026 at 08:26:11AM +0100, Sebastian Andrzej Siewior wrote:
> On 2026-02-17 09:01:11 [-0800], Paul E. McKenney wrote:
> > On Tue, Feb 17, 2026 at 05:31:05PM +0100, Sebastian Andrzej Siewior wrote:
> > > On 2026-02-17 14:11:11 [+0100], Thomas Weißschuh wrote:
> > > > A recent refactoring of the kernel-docs for stop machine changed the
> > > > description of the cpus parameter from "NULL = any online cpu"
> > > > to "NULL = run on each online CPU".
> > > > 
> > > > However the callback is only executed on a single CPU, not all of them.
> > > > The old wording was a bit ambiguous and could have been read both ways.
> > > > 
> > > > Reword the documentation to be correct again and hopefully also clearer.
> > > 
> > > It is the first online CPU.
> > 
> > Do we want to set that in stone?
> 
> then keep it as is. I somehow don't like the wording but I'm not here
> for bike shedding.

I agree that it probably could be improved, but it does seem clear,
correct, and unambiguous, so I also agree with leaving good enough
alone.  ;-)

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

Applied and pushed, thank you!

							Thanx, Paul

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

* [PATCH] stop_machine: Fix the documentation for a NULL cpus argument
@ 2026-03-20 10:42 Paul E. McKenney
  0 siblings, 0 replies; 7+ messages in thread
From: Paul E. McKenney @ 2026-03-20 10:42 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior, Thomas Weißschuh; +Cc: linux-kernel

[ For the v7.1 merge window. ]

A recent refactoring of the kernel-docs for stop machine changed the
description of the cpus parameter from "NULL = any online cpu"
to "NULL = run on each online CPU".

However the callback is only executed on a single CPU, not all of them.
The old wording was a bit ambiguous and could have been read both ways.

Reword the documentation to be correct again and hopefully also clearer.

Fixes: fc6f89dc7078 ("stop_machine: Improve kernel-doc function-header comments")
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

diff --git a/include/linux/stop_machine.h b/include/linux/stop_machine.h
index 72820503514cc..01011113d2263 100644
--- a/include/linux/stop_machine.h
+++ b/include/linux/stop_machine.h
@@ -99,7 +99,7 @@ static inline void print_stop_info(const char *log_lvl, struct task_struct *task
  * stop_machine: freeze the machine on all CPUs and run this function
  * @fn: the function to run
  * @data: the data ptr to pass to @fn()
- * @cpus: the cpus to run @fn() on (NULL = run on each online CPU)
+ * @cpus: the cpus to run @fn() on (NULL = one unspecified online CPU)
  *
  * Description: This causes a thread to be scheduled on every CPU, which
  * will run with interrupts disabled.  Each CPU specified by @cpus will
@@ -133,7 +133,7 @@ int stop_machine(cpu_stop_fn_t fn, void *data, const struct cpumask *cpus);
  * stop_machine_cpuslocked: freeze the machine on all CPUs and run this function
  * @fn: the function to run
  * @data: the data ptr to pass to @fn()
- * @cpus: the cpus to run @fn() on (NULL = run on each online CPU)
+ * @cpus: the cpus to run @fn() on (NULL = one unspecified online CPU)
  *
  * Same as above.  Avoids nested calls to cpus_read_lock().
  *

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

end of thread, other threads:[~2026-03-20 10:42 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-17 13:11 [PATCH] stop_machine: Fix the documentation for a NULL cpus argument Thomas Weißschuh
2026-02-17 16:29 ` Paul E. McKenney
2026-02-17 16:31 ` Sebastian Andrzej Siewior
2026-02-17 17:01   ` Paul E. McKenney
2026-02-18  7:26     ` Sebastian Andrzej Siewior
2026-02-18 18:08       ` Paul E. McKenney
2026-03-20 10:42 Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®