Re: [PATCH 2/5] rcu: Fix macro substitution forsynchronize_rcu_bh() on RT

From: Paul E. McKenney
Date: Sun Nov 20 2011 - 18:23:52 EST


On Fri, Nov 18, 2011 at 11:45:12PM -0500, Steven Rostedt wrote:
> From: John Kacur <jkacur@xxxxxxxxxx>
>
> kernel/rcutorture.c:492: error: âsynchronize_rcu_bhâ undeclared here (not in a function)
>
> synchronize_rcu_bh() is not just called as a normal function, but can
> also be referenced as a function pointer. When CONFIG_PREEMPT_RT_FULL
> is enabled, synchronize_rcu_bh() is defined as synchronize_rcu(), but
> needs to be defined without the parenthesis because the compiler will
> complain when synchronize_rcu_bh is referenced as a function pointer
> and not a function.
>
> Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>
> Cc: Paul McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> Cc: stable-rt@xxxxxxxxxxxxxxx
> Link: http://lkml.kernel.org/r/1321235083-21756-1-git-send-email-jkacur@xxxxxxxxxx
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

> ---
> include/linux/rcutree.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/rcutree.h b/include/linux/rcutree.h
> index 7a25aea..3bf47dc 100644
> --- a/include/linux/rcutree.h
> +++ b/include/linux/rcutree.h
> @@ -60,7 +60,7 @@ static inline void exit_rcu(void)
> #ifndef CONFIG_PREEMPT_RT_FULL
> extern void synchronize_rcu_bh(void);
> #else
> -# define synchronize_rcu_bh() synchronize_rcu()
> +# define synchronize_rcu_bh synchronize_rcu
> #endif
> extern void synchronize_sched_expedited(void);
> extern void synchronize_rcu_expedited(void);
> --
> 1.7.7.1
>
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/