[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100607.165224.25140316.davem@davemloft.net>
Date: Mon, 07 Jun 2010 16:52:24 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: mpm@...enic.com
Cc: shemminger@...ux-foundation.org, fleitner@...hat.com,
netdev@...r.kernel.org, amwang@...hat.com, fubar@...ibm.com,
fbl@...close.org, gospo@...hat.com, nhorman@...driver.com,
jmoyer@...hat.com, linux-kernel@...r.kernel.org,
bridge@...ts.linux-foundation.org,
bonding-devel@...ts.sourceforge.net
Subject: Re: [PATCH] netconsole: queue console messages to send later
From: Matt Mackall <mpm@...enic.com>
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 calls into driver path b
> driver path b attempts to take lock x -> deadlock
>
> So we can't even try to walk back the stack looking for such nonsense.
> Though we could perhaps force queuing of all messages -from- the driver
> bound to netconsole. Tricky, and not quite foolproof.
Look, this is all nonsense talk.
This is only coming about because of the recent discussions about
bonding, so let's fix bonding's locking. I've made concrete
suggestions on converting it's rwlocks over to spinlocks and RCU to
fix the specific problem bonding has.
Every time we hit some new locking issue the knee jerk reaction is
to do something stupid to the generic netconsole code instead of
fixing the real source of the problem.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists