From: David S. Miller Date: Sun, 27 Oct 2013 20:36:39 +0000 (-0400) Subject: Merge branch 'bonding_monitor_locking' X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=4d961a101e032b4bf223b279b4b35bc77576f5a8;p=deliverable%2Flinux.git Merge branch 'bonding_monitor_locking' Ding Tianhong says: ==================== bonding: patchset for rcu use in bonding The slave list will add and del by bond_master_upper_dev_link() and bond_upper_dev_unlink(), which will call call_netdevice_notifiers(), even it is safe to call it in write bond lock now, but we can't sure that whether it is safe later, because other drivers may deal NETDEV_CHANGEUPPER in sleep way, so I didn't admit move the bond_upper_dev_unlink() in write bond lock. now the bond_for_each_slave only protect by rtnl_lock(), maybe use bond_for_each_slave_rcu is a good way to protect slave list for bond, but as a system slow path, it is no need to transform bond_for_each_slave() to bond_for_each_slave_rcu() in slow path, so in the patchset, I will remove the unused read bond lock for monitor function, maybe it is a better way, I will wait to accept any relay for it. Thanks for the Veaceslav Falico opinion. v2: add and modify commit for patchset and patch, it will be the first step for the whole patchset. ==================== Signed-off-by: David S. Miller --- 4d961a101e032b4bf223b279b4b35bc77576f5a8