[Bridge] [PATCH] netconsole: queue console messages to send later

2010-06-08 Thread Flavio Leitner
There are some networking drivers that hold a lock in the transmit path. Therefore, if a console message is printed after that, netconsole will push it through the transmit path, resulting in a deadlock. This patch fixes the re-injection problem by queuing the console messages in a preallocated ci

Re: [Bridge] [PATCH] netconsole: queue console messages to send later

2010-06-07 Thread Matt Mackall
On Mon, 2010-06-07 at 16:24 -0300, Flavio Leitner wrote: > There are some networking drivers that hold a lock in the > transmit path. Therefore, if a console message is printed > after that, netconsole will push it through the transmit path, > resulting in a deadlock. This is an ongoing pain we've

Re: [Bridge] [PATCH] netconsole: queue console messages to send later

2010-06-07 Thread Stephen Hemminger
On Mon, 07 Jun 2010 14:50:48 -0500 Matt Mackall wrote: > On Mon, 2010-06-07 at 16:24 -0300, Flavio Leitner wrote: > > There are some networking drivers that hold a lock in the > > transmit path. Therefore, if a console message is printed > > after that, netconsole will push it through the transmi

Re: [Bridge] [PATCH] netconsole: queue console messages to send later

2010-06-07 Thread Matt Mackall
On Mon, 2010-06-07 at 13:00 -0700, Stephen Hemminger wrote: > On Mon, 07 Jun 2010 14:50:48 -0500 > Matt Mackall wrote: > > > On Mon, 2010-06-07 at 16:24 -0300, Flavio Leitner wrote: > > > There are some networking drivers that hold a lock in the > > > transmit path. Therefore, if a console messag

Re: [Bridge] [PATCH] netconsole: queue console messages to send later

2010-06-07 Thread David Miller
From: Flavio Leitner Date: Mon, 7 Jun 2010 16:24:52 -0300 > There are some networking drivers that hold a lock in the > transmit path. Therefore, if a console message is printed > after that, netconsole will push it through the transmit path, > resulting in a deadlock. > > This patch fixes the

Re: [Bridge] [PATCH] netconsole: queue console messages to send later

2010-06-07 Thread David Miller
From: Matt Mackall Date: Mon, 07 Jun 2010 15:21:31 -0500 > Open to suggestions. The locks in question are driver-internal. There > also may not be any actual recursion taking place: > > driver path a takes private lock x > driver path a attempts printk > printk calls into netconsole > netconsole

Re: [Bridge] [PATCH] netconsole: queue console messages to send later

2010-06-07 Thread Flavio Leitner
On Mon, Jun 07, 2010 at 04:50:24PM -0700, David Miller wrote: > From: Flavio Leitner > Date: Mon, 7 Jun 2010 16:24:52 -0300 > > > There are some networking drivers that hold a lock in the > > transmit path. Therefore, if a console message is printed > > after that, netconsole will push it throug

Re: [Bridge] [PATCH] netconsole: queue console messages to send later

2010-06-08 Thread Cong Wang
Thanks for your fix, Flavio! On 06/08/10 08:37, Flavio Leitner wrote: >> There may not be another timer or workqueue able to execute after the >> printk() we're trying to emit. We may never get to that point. > > What if in the netpoll, before we push the skb to the driver, we check > for a bit