From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Paul E. McKenney" Subject: Re: linux-next: Tree for Apr 17 (rcu) Date: Tue, 17 Apr 2012 09:32:32 -0700 Message-ID: <20120417163232.GG2404@linux.vnet.ibm.com> References: <20120417144241.0d7dc5fde56b2a37ff0dcaba@canb.auug.org.au> <4F8DBD14.5000100@xenotime.net> Reply-To: paulmck@linux.vnet.ibm.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <4F8DBD14.5000100@xenotime.net> Sender: linux-kernel-owner@vger.kernel.org To: Randy Dunlap Cc: Stephen Rothwell , linux-next@vger.kernel.org, LKML , paul.gortmaker@windriver.com List-Id: linux-next.vger.kernel.org On Tue, Apr 17, 2012 at 11:57:24AM -0700, Randy Dunlap wrote: > On 04/16/2012 09:42 PM, Stephen Rothwell wrote: > > > Hi all, > > > > Changes since 20120416: > > > > The rcu tree lost its build failure. > > > ERROR: "rcu_read_lock_nesting" [net/sctp/sctp.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/rds/rds.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/phonet/phonet.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/openvswitch/openvswitch.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/netfilter/xt_TCPMSS.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/netfilter/nfnetlink.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/netfilter/nf_conntrack.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/netfilter/ipset/ip_set.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/llc/llc2.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/l2tp/l2tp_ip.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/l2tp/l2tp_core.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/key/af_key.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/ipv4/ipip.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/decnet/decnet.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/core/netprio_cgroup.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/can/can.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/can/can-bcm.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/bridge/bridge.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/bluetooth/bluetooth.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/batman-adv/batman-adv.ko] undefined! > ERROR: "rcu_read_lock_nesting" [net/atm/atm.ko] undefined! > ERROR: "rcu_read_lock_nesting" [fs/gfs2/gfs2.ko] undefined! > ERROR: "rcu_read_lock_nesting" [drivers/net/vmxnet3/vmxnet3.ko] undefined! > ERROR: "rcu_read_lock_nesting" [drivers/input/joydev.ko] undefined! > ERROR: "rcu_read_lock_nesting" [drivers/char/tpm/tpm.ko] undefined! > ERROR: "rcu_read_lock_nesting" [drivers/char/ipmi/ipmi_msghandler.ko] undefined! > ERROR: "rcu_read_lock_nesting" [block/cfq-iosched.ko] undefined! > ERROR: "rcu_read_lock_nesting" [block/blk-cgroup.ko] undefined! > > on i386. > > Full randconfig file is attached. Sigh! I failed to add the exports. Please see the following not-yet-tested patch. Thanx, Paul ------------------------------------------------------------------------ rcu: Add exports for per-CPU variables used for inlining The new rcu_read_lock_nesting and rcu_read_unlock_special per-CPU variables need to be accessible from modules to allow rcu_read_lock() and rcu_read_unlock() to continue to be used from modules. This commit therefore adds the needed EXPORT_PER_CPU_SYMBOL_GPL()s. Reported-by: Paul Gortmaker Reported-by: Randy Dunlap Signed-off-by: Paul E. McKenney Signed-off-by: Paul E. McKenney diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index d52c68e..ef83774 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c @@ -53,7 +53,9 @@ #ifdef CONFIG_PREEMPT_RCU DEFINE_PER_CPU(int, rcu_read_lock_nesting); +EXPORT_PER_CPU_SYMBOL_GPL(rcu_read_lock_nesting); DEFINE_PER_CPU(int, rcu_read_unlock_special); +EXPORT_PER_CPU_SYMBOL_GPL(rcu_read_unlock_special); #ifdef CONFIG_PROVE_RCU DEFINE_PER_CPU(struct task_struct *, rcu_current_task); #endif /* #ifdef CONFIG_PROVE_RCU */