On Tue, Apr 06, 2010 at 12:38:16PM +0800, Cong Wang wrote:Cong Wang wrote:Before I try to reproduce it, could you please try to replace the 'read_lock()'Confirmed. Please use the attached patch instead, for your testing.
in slaves_support_netpoll() with 'read_lock_bh()'? (read_unlock() too) Try if this helps.
Moving those locks to bh-locks will not resolve this. I tried that
yesterday and tried your new patch today without success. That warning
is a WARN_ON_ONCE so you need to reboot to see that it is still a
problem. Simply unloading and loading the new module is not an accurate
Also, my system still hangs when removing the bonding module. I do not
think you intended to fix this with the patch, but wanted it to be clear
to everyone on the list.
You should also configure your kernel with a some of the lock debugging
enabled. I've been using the following:
Here is the output when I remove a slave from the bond. My
xmit_roundrobin patch from earlier (replacing read_lock with
read_trylock) was applied. It might be helpful for you when debugging
Dead loop on virtual device bond0, fix it urgently!