Re: [PATCH tip/core/rcu 4/4] docs/rcu: Update the call_rcu() API

From: Paul E. McKenney
Date: Tue Nov 10 2020 - 09:37:32 EST


On Tue, Nov 10, 2020 at 10:25:05AM +0100, Peter Zijlstra wrote:
> On Mon, Nov 09, 2020 at 05:20:32PM -0800, Paul E. McKenney wrote:
> > On Mon, Nov 09, 2020 at 01:24:24PM +0100, Peter Zijlstra wrote:
> > > On Thu, Nov 05, 2020 at 03:05:10PM -0800, paulmck@xxxxxxxxxx wrote:
> > > > From: Hui Su <sh_def@xxxxxxx>
> > > >
> > > > This commit updates the documented API of call_rcu() to use the
> > > > rcu_callback_t typedef instead of the open-coded function definition.
> > > >
> > > > Signed-off-by: Hui Su <sh_def@xxxxxxx>
> > > > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> > > > ---
> > > > Documentation/RCU/whatisRCU.rst | 3 +--
> > > > 1 file changed, 1 insertion(+), 2 deletions(-)
> > > >
> > > > diff --git a/Documentation/RCU/whatisRCU.rst b/Documentation/RCU/whatisRCU.rst
> > > > index fb3ff76..1a4723f 100644
> > > > --- a/Documentation/RCU/whatisRCU.rst
> > > > +++ b/Documentation/RCU/whatisRCU.rst
> > > > @@ -497,8 +497,7 @@ long -- there might be other high-priority work to be done.
> > > > In such cases, one uses call_rcu() rather than synchronize_rcu().
> > > > The call_rcu() API is as follows::
> > > >
> > > > - void call_rcu(struct rcu_head * head,
> > > > - void (*func)(struct rcu_head *head));
> > > > + void call_rcu(struct rcu_head *head, rcu_callback_t func);
> > >
> > > Personally I much prefer the old form, because now I have to go look up
> > > rcu_callback_t to figure out wtf kind of signature is actually required.
> >
> > How about if this part of the documentation read as follows:
> >
> > typedef void (*rcu_callback_t)(struct rcu_head *head);
> > void call_rcu(struct rcu_head *head, rcu_callback_t func);
> >
> > Wold that help?
>
> Sure; but now it's more verbose than it was ;-)

Tradeoffs, tradeoffs... ;-)

Thanx, Paul