Merge branch 'bonding_monitor_locking'
authorDavid S. Miller <davem@davemloft.net>
Sun, 27 Oct 2013 20:36:39 +0000 (16:36 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sun, 27 Oct 2013 20:36:39 +0000 (16:36 -0400)
commit4d961a101e032b4bf223b279b4b35bc77576f5a8
tree2acba486e276d99f77d9c187bf67e8cfb581fde2
parenta00f6fcc7d0c62a91768d9c4ccba4c7d64fbbce3
parent5cc172c6de80cd9bf2a1228cb928b1fb42e30deb
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 <davem@davemloft.net>