[-mm patch] rcu_trace build fix (was Re: 2.6.20-rc6-mm2 build failure)

From: Frederik Deweerdt
Date: Mon Jan 29 2007 - 18:06:39 EST


On Mon, Jan 29, 2007 at 11:31:08PM +0300, Tomasz Kvarsin wrote:
> I try to compile and got:
>
> CHK include/linux/version.h
> CHK include/linux/utsrelease.h
> CHK include/linux/compile.h
> CC kernel/rcupreempt.o
> kernel/rcupreempt.c: In function 'rcupreempt_try_flip_state_name':
> kernel/rcupreempt.c:641: error: 'rcu_try_flip_state_names' undeclared
> (first use in this function)
> kernel/rcupreempt.c:641: error: (Each undeclared identifier is
> reported only once
> kernel/rcupreempt.c:641: error: for each function it appears in.)
> kernel/rcupreempt.c: In function 'rcupreempt_trace':
> kernel/rcupreempt.c:645: error: 'struct rcu_data' has no member named 'trace'
> kernel/rcupreempt.c:646: warning: control reaches end of non-void function
> kernel/rcupreempt.c: In function 'rcupreempt_try_flip_state_name':
> kernel/rcupreempt.c:642: warning: control reaches end of non-void function
>
Hi,

It looks like a typo there, thanks for reporting. The attached patch
"s/RCU_TRACE/CONFIG_RCU_TRACE/" did the trick for me.

Btw, shouldn't the RCU_TRACE macro be defined to "do {} while(0)" in the
!CONFIG_RCU_TRACE case?

Regards,
Frederik

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@xxxxxxxxx>

diff --git a/kernel/rcupreempt.c b/kernel/rcupreempt.c
index f8962a7..9b7d66b 100644
--- a/kernel/rcupreempt.c
+++ b/kernel/rcupreempt.c
@@ -619,7 +619,7 @@ void synchronize_kernel(void)
synchronize_rcu();
}

-#ifdef RCU_TRACE
+#ifdef CONFIG_RCU_TRACE
int *rcupreempt_flipctr(int cpu)
{
return &per_cpu(rcu_flipctr, cpu)[0];
@@ -649,7 +649,7 @@ EXPORT_SYMBOL_GPL(rcupreempt_data_completed);
EXPORT_SYMBOL_GPL(rcupreempt_flip_flag);
EXPORT_SYMBOL_GPL(rcupreempt_mb_flag);
EXPORT_SYMBOL_GPL(rcupreempt_try_flip_state_name);
-#endif /* #ifdef RCU_TRACE */
+#endif /* #ifdef CONFIG_RCU_TRACE */

EXPORT_SYMBOL_GPL(call_rcu);
EXPORT_SYMBOL_GPL(rcu_batches_completed);
-
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/