Re: [PATCH v2 4/5] rcu-tasks: Fix read-side primitives comment for call_rcu_tasks_trace

From: Paul E. McKenney
Date: Wed Aug 25 2021 - 13:08:58 EST


On Wed, Aug 25, 2021 at 12:40:50PM +0530, Neeraj Upadhyay wrote:
> call_rcu_tasks_trace() does have read-side primitives - rcu_read_lock_trace()
> and rcu_read_unlock_trace(). Fix this information in the comments.
>
> Signed-off-by: Neeraj Upadhyay <neeraju@xxxxxxxxxxxxxx>

Queued for v5.16, thank you very much!

(The other four patches are already queued.)

Thanx, Paul

> ---
> kernel/rcu/tasks.h | 16 ++++++----------
> 1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h
> index 244e06a..c5f1c2f 100644
> --- a/kernel/rcu/tasks.h
> +++ b/kernel/rcu/tasks.h
> @@ -1212,15 +1212,11 @@ static void exit_tasks_rcu_finish_trace(struct task_struct *t)
> * @rhp: structure to be used for queueing the RCU updates.
> * @func: actual callback function to be invoked after the grace period
> *
> - * The callback function will be invoked some time after a full grace
> - * period elapses, in other words after all currently executing RCU
> - * read-side critical sections have completed. call_rcu_tasks_trace()
> - * assumes that the read-side critical sections end at context switch,
> - * cond_resched_rcu_qs(), or transition to usermode execution. As such,
> - * there are no read-side primitives analogous to rcu_read_lock() and
> - * rcu_read_unlock() because this primitive is intended to determine
> - * that all tasks have passed through a safe state, not so much for
> - * data-structure synchronization.
> + * The callback function will be invoked some time after a trace rcu-tasks
> + * grace period elapses, in other words after all currently executing
> + * trace rcu-tasks read-side critical sections have completed. These
> + * read-side critical sections are delimited by calls to rcu_read_lock_trace()
> + * and rcu_read_unlock_trace().
> *
> * See the description of call_rcu() for more detailed information on
> * memory ordering guarantees.
> @@ -1236,7 +1232,7 @@ EXPORT_SYMBOL_GPL(call_rcu_tasks_trace);
> *
> * Control will return to the caller some time after a trace rcu-tasks
> * grace period has elapsed, in other words after all currently executing
> - * rcu-tasks read-side critical sections have elapsed. These read-side
> + * trace rcu-tasks read-side critical sections have elapsed. These read-side
> * critical sections are delimited by calls to rcu_read_lock_trace()
> * and rcu_read_unlock_trace().
> *
> --
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> hosted by The Linux Foundation
>