Re: [PATCH 02/10] rcu: Move rcu_preempt_depth_set() to rcupdate.h

From: Lai Jiangshan
Date: Sun Mar 31 2024 - 12:17:11 EST


On Sun, Mar 31, 2024 at 7:10 PM Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote:
>
>
>
> > On Mar 28, 2024, at 1:20 PM, Lai Jiangshan <jiangshanlai@xxxxxxxxx> wrote:
> >
> > From: Lai Jiangshan <jiangshan.ljs@xxxxxxxxxxxx>
> >
> > Prepare for arch-specific-defined rcu_preempt_depth_set().
> >
> > No functionality change intended, but it has to be defined as a macro
> > as rcupdate.h is a very low level header included from areas that don't
> > even know about the task struct "current".
>
> Sorry I did not follow changelog. If some rcupdate.h includers do not know
> about task_struct, how does adding a macro that uses current help?
>

Hello

This is how macro works and it expands blindly based on tokens on the
usage-sites.

And rcu_preempt_depth() & rcu_preempt_depth_set() are not universally
used wrappers, the user can simply also include linux/sched.h to make
they work.

Thanks
Lai