summaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bond_main.c
diff options
context:
space:
mode:
authorPaul E. McKenney2013-12-10 00:19:53 +0100
committerPaul E. McKenney2013-12-12 21:19:17 +0100
commit36708b89e00951b004b4dd6c14181301e2e98354 (patch)
tree02a868b14e89182dd4a59fe66143bdc194803687 /drivers/net/bonding/bond_main.c
parentrcu: Add comment on evaluate-once properties of rcu_assign_pointer(). (diff)
downloadkernel-qcow2-linux-36708b89e00951b004b4dd6c14181301e2e98354.tar.gz
kernel-qcow2-linux-36708b89e00951b004b4dd6c14181301e2e98354.tar.xz
kernel-qcow2-linux-36708b89e00951b004b4dd6c14181301e2e98354.zip
bonding: Use RCU_INIT_POINTER() for better overhead and for sparse
Although rcu_assign_pointer() can be used to assign a constant NULL pointer, doing so gets you an unnecessary memory barrier and in some circumstances, sparse warnings. This commit therefore changes the rcu_assign_pointer() of NULL in __bond_release_one() to RCU_INIT_POINTER(). Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r--drivers/net/bonding/bond_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 4dd5ee2a34cc..a0b97c4c655d 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1763,7 +1763,7 @@ static int __bond_release_one(struct net_device *bond_dev,
}
if (all) {
- rcu_assign_pointer(bond->curr_active_slave, NULL);
+ RCU_INIT_POINTER(bond->curr_active_slave, NULL);
} else if (oldcurrent == slave) {
/*
* Note that we hold RTNL over this sequence, so there