Re: [RFC PATCH 1/2] rcu: sysctl: Panic on RCU Stall
From: Daniel Bristot de Oliveira
Date: Tue May 31 2016 - 18:49:58 EST
On 05/31/2016 04:23 PM, Josh Triplett wrote:
Hi Josh,
> Sorry, realized something else a moment after sending: I don't think
> this will build if you use the tiny RCU implementation. That
> implementation *does* support tracing, and if you enable tracing,
> you'll have CONFIG_RCU_STALL_COMMON=y, but you won't build tree.c where
> the variable definition lives. So, the sysctl code will reference a
> variable that doesn't exist.
Good catch!
[root@f23 linux]# egrep '(TINY_RCU|RCU_TRACE)' .config
CONFIG_TINY_RCU=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_RCU_TRACE=y
[root@f23 linux]# make
...
kernel/built-in.o:(.data+0x4688): undefined reference to `sysctl_panic_on_rcu_stall'
Makefile:937: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1
How about this change in the condition:
-#ifdef CONFIG_RCU_STALL_COMMON
+#if defined(CONFIG_TREE_RCU) || defined(CONFIG_PREEMPT_RCU)
It worked fine here, but I may be missing something, so I better
check with the experts :-).
Thanks for reviewing the patch set!
-- Daniel