[Bug 21559] "scheduling while atomic" with brctl and NFS-mounted root

bugzilla-daemon at bugzilla.ubuntu.com bugzilla-daemon at bugzilla.ubuntu.com
Wed Dec 28 15:18:28 UTC 2005


Please do not reply to this email.  You can add comments at
http://bugzilla.ubuntu.com/show_bug.cgi?id=21559
Ubuntu | linux





------- Additional Comments From ben.collins at ubuntu.com  2005-12-28 15:18 UTC -------
(In reply to comment #9)
> (In reply to comment #8)
> >   Now I tried a root-jail in /tmp (tmpfs), still with 2.6.15-9-386, and the
> > problem remains.  Next I'm going to try 2.6.14.4 with preemption turned on and
> > see if it starts failing.
> 
> Done that.  Vanilla 2.6.14.4, with preemption enabled, works fine.  So this is
> really a problem with the later development kernels.  And I'm not so sure it's a
> NFS-root related problem either due to my experiment with chroot into a tmpfs.

Of course it is a NFS problem, the error occurs when the interface brings itself
down for bridging and then does an mdelay, which allows NFS to be scheduled and
then it tries to schedule some work, and in doing so, causes this bug.

IMO, this problem is related to rhine and NFS in general. The call down for the
rhine driver to perform the action that bridging needs does the mdelay() (which
not all ethernet drivers will do). The briding code says that it handles this
before performing this call (scheduling), but the problem is that rhine does a
spinlock during this call, so it cannot handle the scheduling (spinlocks are
atomic). I'm inclined to think the rhine driver is at fault here.

Question, are you using NFSv4 or NFSv3? The code paths are quite different
between the two during the nfs_do_access().

-- 
Configure bugmail: http://bugzilla.ubuntu.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.




More information about the kernel-bugs mailing list