From: Matt Mackall <mpm@xxxxxxxxxxx> 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. _______________________________________________ Bridge mailing list Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/bridge