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