Re: [PATCH] rcu_batches_completed prototype cleanup

From: Paul E. McKenney
Date: Fri Feb 15 2008 - 16:43:29 EST


On Thu, Feb 14, 2008 at 11:57:48PM -0500, Steven Rostedt wrote:
>
> rcu_batches_completed and rcu_patches_completed_bh are both declared
> in rcuclassic.h and rcupreempt.h. This patch removes the extra
> prototypes for them from rcupdate.h.
>
> rcu_batches_completed_bh is defined as a static inline in the rcupreempt.h
> header file. Trying to export this as EXPORT_SYMBOL_GPL causes section
> problems with the powerpc compiler. There's no need to export a static
> inlined function.
>
> Modules must be compiled with the same type of RCU implementation as the
> kernel they are for.

Good catch, and works fine here against 2.6.25-rc1. Andrew, Linus,
could you please apply this?

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

> Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx>
> ---
> include/linux/rcupdate.h | 2 --
> kernel/rcupreempt.c | 2 --
> 2 files changed, 4 deletions(-)
>
> diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
> index 37a642c..ae5ba4e 100644
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@ -238,8 +238,6 @@ extern void call_rcu_bh(struct rcu_head *head,
> /* Exported common interfaces */
> extern void synchronize_rcu(void);
> extern void rcu_barrier(void);
> -extern long rcu_batches_completed(void);
> -extern long rcu_batches_completed_bh(void);
>
> /* Internal to kernel */
> extern void rcu_init(void);
> diff --git a/kernel/rcupreempt.c b/kernel/rcupreempt.c
> index 987cfb7..bdd0a1d 100644
> --- a/kernel/rcupreempt.c
> +++ b/kernel/rcupreempt.c
> @@ -213,8 +213,6 @@ long rcu_batches_completed(void)
> }
> EXPORT_SYMBOL_GPL(rcu_batches_completed);
>
> -EXPORT_SYMBOL_GPL(rcu_batches_completed_bh);
> -
> void __rcu_read_lock(void)
> {
> int idx;
>
--
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/