netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC net-next 0/5] bonding: get rid of bond->lock
@ 2014-09-05 18:16 Nikolay Aleksandrov
  2014-09-05 18:16 ` [RFC net-next 1/5] bonding: 3ad: use curr_slave_lock instead " Nikolay Aleksandrov
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Nikolay Aleksandrov @ 2014-09-05 18:16 UTC (permalink / raw)
  To: netdev; +Cc: vfalico, j.vosburgh, andy, davem, Nikolay Aleksandrov

Hi all,
This is only a raw version of the idea, I've only compile-tested this
patch-set but I think it's possible to remove bond->lock completely as
its current users are only few and can be either removed or converted.
I'm sending it early as RFC to see if you have any suggestions, comments
or objections, and I'll do stress-testing and lockdep next week and
resubmit it with any changes/fixes that come up in the process.

If this gets accepted in some form, a re-work of curr_slave_lock will be
following as it can be dropped in a lot of places and only kept to sync the
few users that actually need it (e.g. 3ad wq handler and slave release, alb
wq handler and active change etc).
The goal of these patchsets is to simplify bond locking as it's getting
more convoluted and unnecessarily complex, in most of the cases we should
be able to rely on RTNL or rcu alone, and if the case is more complex we
should explain/document well why we need another lock.

Best regards,
 Nikolay Aleksandrov

Nikolay Aleksandrov (5):
  bonding: 3ad: use curr_slave_lock instead of bond->lock
  bonding: alb: clean bond->lock
  bonding: procfs: clean bond->lock usage and use RTNL
  bonding: options: remove bond->lock usage
  bonding: remove last users of bond->lock and bond->lock itself

 drivers/net/bonding/bond_3ad.c     |  9 +++----
 drivers/net/bonding/bond_alb.c     | 11 ++------
 drivers/net/bonding/bond_main.c    | 51 ++++++--------------------------------
 drivers/net/bonding/bond_options.c | 19 +-------------
 drivers/net/bonding/bond_procfs.c  |  8 ++----
 drivers/net/bonding/bonding.h      |  8 ++----
 6 files changed, 18 insertions(+), 88 deletions(-)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-09-06 10:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-05 18:16 [RFC net-next 0/5] bonding: get rid of bond->lock Nikolay Aleksandrov
2014-09-05 18:16 ` [RFC net-next 1/5] bonding: 3ad: use curr_slave_lock instead " Nikolay Aleksandrov
2014-09-05 20:37   ` Jay Vosburgh
2014-09-05 21:00     ` Nikolay Aleksandrov
2014-09-06  1:08       ` Jay Vosburgh
2014-09-06 10:19         ` Nikolay Aleksandrov
2014-09-05 18:16 ` [RFC net-next 2/5] bonding: alb: clean bond->lock Nikolay Aleksandrov
2014-09-05 18:16 ` [RFC net-next 3/5] bonding: procfs: clean bond->lock usage and use RTNL Nikolay Aleksandrov
2014-09-05 18:16 ` [RFC net-next 4/5] bonding: options: remove bond->lock usage Nikolay Aleksandrov
2014-09-05 18:16 ` [RFC net-next 5/5] bonding: remove last users of bond->lock and bond->lock itself Nikolay Aleksandrov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).