Skip to content

bonding: Patchset for rcu use in bonding

Ding Tianhong netdev 8 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 posting 4/45 patches 11 repliesNAK
  2. v2 posting 3/43 patches 1 replySuperseded
  3. v2 posting 2/43 patches 0 repliesSuperseded
Earlier versions · 5
VersionPostedPatchesRepliesStatus
v5 Latest6 patches8 repliesIn review
v46 patches11 repliesSuperseded
v36 patches7 repliesSuperseded
v2 posting 1/46 patches7 repliesSuperseded
v16 patches5 repliesSuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6bonding: simplify and use RCU protection for 3ad xmit pathdrivers/net/bonding/bond_3ad.c drivers/net/bonding/bonding.h+43 -193 replies
2/6bonding: remove the no effect lock for bond_3ad_lacpdu_recv()drivers/net/bonding/bond_3ad.c+0 -24 replies
3/6bonding: replace read_lock to rcu_read_lock for bond_3ad_get_active_agg_info()drivers/net/bonding/bond_3ad.c+2 -20 replies
4/6bonding: add rtnl lock for bonding_store_xmit_hashdrivers/net/bonding/bond_sysfs.c+4 -00 replies
5/6bonding: remove the counter and simplify bond_for_each_slave_from()drivers/net/bonding/bond_alb.c drivers/net/bonding/bond_main.c drivers/net/bonding/bonding.h+6 -91 reply
6/6bonding: use RCU protection for alb xmit pathdrivers/net/bonding/bond_alb.c drivers/net/bonding/bonding.h+15 -190 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.

Read the v5 thread

Cover letter [PATCH net-next v5 0/6] bonding: Patchset for rcu use in bonding

Hi:

The Patch Set convert the xmit of 3ad and alb mode to use rcu lock. restructure and add more rcu list function.
add rtnl lock to protect bonding_store_xmit_hash(). remove read lock in bond_3ad_lacpdu_recv().

I test the patch well and no problems found till now.

v1: add 1 patch named remove the no effect lock for bond_3ad_lacpdu_recv().
get the advice from Nikolay Aleksandrov, and modify some mistake in the code.

v2: accept the Nikolay Aleksandrov's advise, modify the patch 05/06.
the new bond_for_each_slave_from will not use bond->slave_cnt and int cnt any more, it test well.
move the rcu_dereference call of curr_active_slave after the lock avoid a race condition with the slave removal.

v3: according to the advise of Veaceslav Falico and David S. Miller, modify the patch 01/06 and patch 05/06.
add rcu protect for read bond->slave_list.
simplify the bond_for_each_slave_from() and bond_for_each_slave_from_rcu()

v4: thanks for Veaceslav Falico's patient guidance, fix the problem of patch 01/06 and patch 05/06.
restructure the bond_first_slave_rcu().
restructure the bond_for_each_slave() and bond_for_each_slave_rcu().

v5: modifty the patch 01/06,05/06,06/06
restructure the bond_first_slave_rcu().
remove the bond_for_each_slave_from_rcu(), it is no need to use till now, and the restructure is really hard work, so miss it, and rebuild the logic for bond_for_each_slave_from in rcu protect.

Ding Tianhong (4):
Wang Yufen (1):
Yang Yingliang (1):
root (6):
bonding: simplify and use RCU protection for 3ad xmit path
bonding: remove the no effect lock for bond_3ad_lacpdu_recv()
bonding: replace read_lock to rcu_read_lock for bond_3ad_get_active_agg_info()
bonding: add rtnl lock for bonding_store_xmit_hash
bonding: restructure and add rcu for bond_for_each_slave_next()
bonding: use RCU protection for alb xmit path

 drivers/net/bonding/bond_3ad.c   | 38 ++++++++++++---------------
 drivers/net/bonding/bond_alb.c   | 23 +++++++----------
 drivers/net/bonding/bond_main.c  |  6 ++---
 drivers/net/bonding/bond_sysfs.c |  4 +++
 drivers/net/bonding/bonding.h    | 56 +++++++++++++++++++++++++++++++++++-----
 5 files changed, 82 insertions(+), 45 deletions(-)
Signature · 1 line
1.8.2.1