netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] bonding: various fixes for bonding, netpoll & netconsole (v3)
@ 2010-10-14  2:01 nhorman
  2010-10-14  2:01 ` [PATCH 1/5] Fix bonding drivers improper modification of netpoll structure nhorman
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: nhorman @ 2010-10-14  2:01 UTC (permalink / raw)
  To: netdev; +Cc: bonding-devel, fubar, davem, andy, amwang, nhorman

Version 3, taking the following changes into account:

1) Gospo noted an oops on his test system, which arose from a use after free of the
cpumask_var_t that I allocate for use in tx blocking.  Easy fix, just alloc the
cpumask first, and free it last in the module init/exit routines

Summary:
A while ago we tried to enable netpoll on the bonding driver to enable
netconsole.  That worked well in a steady state, but deadlocked frequently in
failover conditions due to some recursive lock-taking (as well as a few other
problems).  I've gone through the driver, netconsole and netpoll code, fixed up
those deadlocks, and confirmed that, with this patch series, we can use
netconsole on bonding without deadlock in all bonding modes with all slaves,
even accross failovers.  I've also fixed up some incidental bugs that I ran
across while looking through this code, as described in individual patches

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>


^ permalink raw reply	[flat|nested] 14+ messages in thread
* [PATCH] bonding: various fixes for bonding, netpoll & netconsole (v2)
@ 2010-10-13 12:35 nhorman
  2010-10-13 12:35 ` [PATCH 5/5] Re-enable netpoll over bonding nhorman
  0 siblings, 1 reply; 14+ messages in thread
From: nhorman @ 2010-10-13 12:35 UTC (permalink / raw)
  To: netdev; +Cc: bonding-devel, fubar, davem, andy, amwang, nhorman

Version 2, taking teh following changes into account:

1) Moved tx blocking/checking macros to netpoll.h as suggested by amwang

2) Added tx blocking macro calls to sysfs paths, as they can deadlock in the
same way that the link monitoring paths can.

Summary: 
A while ago we tried to enable netpoll on the bonding driver to enable
netconsole.  That worked well in a steady state, but deadlocked frequently in
failover conditions due to some recursive lock-taking (as well as a few other
problems).  I've gone through the driver, netconsole and netpoll code, fixed up
those deadlocks, and confirmed that, with this patch series, we can use
netconsole on bonding without deadlock in all bonding modes with all slaves,
even accross failovers.  I've also fixed up some incidental bugs that I ran
across while looking through this code, as described in individual patches

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>

^ permalink raw reply	[flat|nested] 14+ messages in thread
* [PATCH] bonding: various fixes for bonding, netpoll & netconsole
@ 2010-10-12 21:55 nhorman
  2010-10-12 21:55 ` [PATCH 5/5] Re-enable netpoll over bonding nhorman
  0 siblings, 1 reply; 14+ messages in thread
From: nhorman @ 2010-10-12 21:55 UTC (permalink / raw)
  To: netdev; +Cc: bonding-devel, fubar, davem, andy, amwang, nhorman

Grr, really sorry guys, 3rd times the charm.  netdev greylisted this and several
others pitched it because of a bad mail header.  I'm resending through tuxdriver
like I should have done before

A while ago we tried to enable netpoll on the bonding driver to enable
netconsole.  That worked well in a steady state, but deadlocked frequently in
failover conditions due to some recursive lock-taking (as well as a few other
problems).  I've gone through the driver, netconsole and netpoll code, fixed up
those deadlocks, and confirmed that, with this patch series, we can use
netconsole on bonding without deadlock in all bonding modes with all slaves,
even accross failovers.  I've also fixed up some incidental bugs that I ran
across while looking through this code, as described in individual patches

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>


^ permalink raw reply	[flat|nested] 14+ messages in thread
* [PATCH] bonding: various fixes for bonding, netpoll & netconsole
@ 2010-10-12 20:29 nhorman
  2010-10-12 20:29 ` [PATCH 5/5] Re-enable netpoll over bonding nhorman
  0 siblings, 1 reply; 14+ messages in thread
From: nhorman @ 2010-10-12 20:29 UTC (permalink / raw)
  To: netdev; +Cc: bonding-devel, fubar, davem, andy, amwang, nhorman

Sorry if this is a resend for some, a bad git-send-email config caused some
rejections, so I'm resending.

A few months back, an attempt was made to enable netpoll over bonding, so that
netconsole could be used over bonded interfaces.  This worked in the steady
state, but had several deadlocks in various failover conditions.  I've gone
through the bonding code, and fixed up those deadlocks, along with several other
problems noted along the way, which caused other issues with netpoll+bonding.
With this patch series, netpoll works with bonding in all modes accross all
slaves during failover conditions.  It also allows fixes some deadlock
conditions in the netconsole code itself.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>



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

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

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-14  2:01 [PATCH] bonding: various fixes for bonding, netpoll & netconsole (v3) nhorman
2010-10-14  2:01 ` [PATCH 1/5] Fix bonding drivers improper modification of netpoll structure nhorman
2010-10-14  2:01 ` [PATCH 2/5] Fix deadlock in bonding driver resulting from internal locking when using netpoll nhorman
2010-10-14  2:01 ` [PATCH 3/5] Fix napi poll for bonding driver nhorman
2010-10-14  2:01 ` [PATCH 4/5] Fix netconsole to not deadlock on rmmod nhorman
2010-10-14  2:01 ` [PATCH 5/5] Re-enable netpoll over bonding nhorman
2010-10-18 15:25 ` [PATCH] bonding: various fixes for bonding, netpoll & netconsole (v3) David Miller
2010-10-18 15:27   ` David Miller
2010-10-18 15:57     ` Neil Horman
2010-10-19  5:21   ` Cong Wang
2010-10-19  8:06     ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2010-10-13 12:35 [PATCH] bonding: various fixes for bonding, netpoll & netconsole (v2) nhorman
2010-10-13 12:35 ` [PATCH 5/5] Re-enable netpoll over bonding nhorman
2010-10-12 21:55 [PATCH] bonding: various fixes for bonding, netpoll & netconsole nhorman
2010-10-12 21:55 ` [PATCH 5/5] Re-enable netpoll over bonding nhorman
2010-10-12 20:29 [PATCH] bonding: various fixes for bonding, netpoll & netconsole nhorman
2010-10-12 20:29 ` [PATCH 5/5] Re-enable netpoll over bonding nhorman

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).