On Wed, Aug 18, 2021 at 12:58:42PM +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> > --- > kernel/rcu/tasks.h | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > > diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h > index 244e06a..5f9c14c 100644 > --- a/kernel/rcu/tasks.h > +++ b/kernel/rcu/tasks.h > @@ -1214,13 +1214,9 @@ static void exit_tasks_rcu_finish_trace(struct task_struct *t) > * > * 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. > + * read-side critical sections have completed. These read-side The above line should start "Tasks Trace read-side critical..." for the benefit of people who stop reading before the next sentence. :-/ Thanx, Paul > + * 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. > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > hosted by The Linux Foundation >