Commit 6f63904c8f3e ("sched: add a few helpers to wake up tasks on the current cpu") introduced this new function to the completion API that has not been documented yet. Document complete_on_current_cpu() explaining what it does and when its usage is justified. Signed-off-by: Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx> --- Changes in v2: - Rebase onto v6.17-rc1 - Fix patch formatting (drop --- before the Signed-off-by tag). - Link to v1: https://lore.kernel.org/r/20250703-complete_on_current_cpu_doc-v1-1-262dc859b38a@xxxxxxxxx --- Documentation/scheduler/completion.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/scheduler/completion.rst b/Documentation/scheduler/completion.rst index adf0c0a56d02..db9c131f0b62 100644 --- a/Documentation/scheduler/completion.rst +++ b/Documentation/scheduler/completion.rst @@ -272,6 +272,10 @@ Signaling completion from IRQ context is fine as it will appropriately lock with spin_lock_irqsave()/spin_unlock_irqrestore() and it will never sleep. +Use complete_on_current_cpu() to wake up the task on the current CPU. +It makes use of the WF_CURRENT_CPU flag to move the task to be woken up +to the current CPU, achieving faster context switches. To use this variant, +the context switch speed must be relevant and the optimization justified. try_wait_for_completion()/completion_done(): -------------------------------------------- --- base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585 change-id: 20250702-complete_on_current_cpu_doc-94dfc72a39f8 Best regards, -- Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx>