Re: linux-next: Tree for Apr 17 (rcu)

From: Randy Dunlap
Date: Tue Apr 17 2012 - 13:14:27 EST


On 04/17/2012 09:32 AM, Paul E. McKenney wrote:

> 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 <paul.gortmaker@xxxxxxxxxxxxx>
> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
> Signed-off-by: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>
> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>


Works for me. Thanks.

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>


>
> 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 */
>



--
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/