2007-01-29 20:31:18

by Tomasz Kvarsin

[permalink] [raw]
Subject: 2.6.20-rc6-mm2 build failure

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

config in attachment.


Attachments:
(No filename) (847.00 B)
.config (43.09 kB)
Download all attachments

2007-01-29 23:06:01

by Frederik Deweerdt

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

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 <[email protected]>

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);

2007-01-30 15:19:37

by Dipankar Sarma

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

On Mon, Jan 29, 2007 at 11:05:52PM +0000, Frederik Deweerdt wrote:
> On Mon, Jan 29, 2007 at 11:31:08PM +0300, Tomasz Kvarsin wrote:
> > I try to compile and got:
> Frederik
>
> Signed-off-by: Frederik Deweerdt <[email protected]>
>
> 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);

Looks good. Sorry about missing this and the late response. I am
online only periodically while I am out of town (until 10th Feb).

Acked-by : Dipankar Sarma <[email protected]>

Thanks
Dipankar