[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170423200442.GU3956@linux.vnet.ibm.com>
Date: Sun, 23 Apr 2017 13:04:42 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: kbuild test robot <fengguang.wu@...el.com>
Cc: kbuild-all@...org, linux-kernel@...r.kernel.org
Subject: Re: [rcu:rcu/urgent 11/11] include/linux/srcu.h:66:2: error: #error
"Unknown SRCU implementation specified to kernel configuration"
On Mon, Apr 24, 2017 at 03:00:38AM +0800, kbuild test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/urgent
> head: 746ec1f689abc74dca72fdce4134decdbfaec295
> commit: 746ec1f689abc74dca72fdce4134decdbfaec295 [11/11] srcu: Fix Kconfig botch when SRCU not selected
> config: sparc64-allnoconfig (attached as .config)
> compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> git checkout 746ec1f689abc74dca72fdce4134decdbfaec295
> # save the attached .config to linux build tree
> make.cross ARCH=sparc64
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/notifier.h:15:0,
> from include/linux/pm_qos.h:8,
> from kernel/power/qos.c:32:
> >> include/linux/srcu.h:66:2: error: #error "Unknown SRCU implementation specified to kernel configuration"
> #error "Unknown SRCU implementation specified to kernel configuration"
> ^~~~~
> In file included from include/linux/pm_qos.h:8:0,
> from kernel/power/qos.c:32:
> >> include/linux/notifier.h:77:21: error: field 'srcu' has incomplete type
> struct srcu_struct srcu;
> ^~~~
And it appears that there is much code that includes srcu.h without
having "select SRCU", which underlines the point that SRCU is no longer
optional. Patch below, pushing to -rcu as well.
------------------------------------------------------------------------
commit b0d5280678ad03d0b8dbdbe827c9e31c43923e02
Author: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
Date: Sun Apr 23 12:50:59 2017 -0700
srcu: Make SRCU be built by default
SRCU is optional, and included only if there is a "select SRCU" in effect.
However, we now have Tiny SRCU, so this commit defaults CONFIG_SRCU=y.
Reported-by: kbuild test robot <fengguang.wu@...el.com>
Signed-off-by: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
diff --git a/init/Kconfig b/init/Kconfig
index fe72c12e06a5..42a346b0df43 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -521,6 +521,7 @@ config RCU_EXPERT
config SRCU
bool
+ default y
help
This option selects the sleepable version of RCU. This version
permits arbitrary sleeping or blocking within RCU read-side critical
Powered by blists - more mailing lists