From: Paul E. McKenney Date: Mon, 9 Dec 2013 23:19:53 +0000 (-0800) Subject: bonding: Use RCU_INIT_POINTER() for better overhead and for sparse X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=36708b89e00951b004b4dd6c14181301e2e98354;p=linux-beck.git 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 Reviewed-by: Josh Triplett --- 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