mutex Giant recursed at /usr/src/sys/kern/tty.c:1222 (via linux_ioctl_termio)

Ed Schouten ed at 80386.nl
Mon Mar 2 01:26:54 PST 2009


HI Yuriy,

The subject line says enough: the Linuxolator calls into the TTY layer
holding Giant. I changed the TTY layer some time ago to never acquire
Giant recursively by making /dev/console MPSAFE. It can only happen that
drivers pick up Giant recursively before calling into the TTY layer, but
this is generally not a problem.

The assertion in the code isn't really required. It isn't necessarily
bad to recurse on Giant, but looking forward to a Giantless kernel, I
think it's not a bad idea to keep it there.

Two ways to fix this problem:

- Fix the Linuxolator to not require Giant (which I like).
- Remove MA_NOTRECURSED from tty_(timed)wait() (which I don't like).

Because I'm now rdivacky's mentor, I talk a lot to him anyway. I'll
discuss this subject with him. Thanks for reporting this issue.

-- 
 Ed Schouten <ed at 80386.nl>
 WWW: http://80386.nl/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20090302/db88acbc/attachment.pgp


More information about the freebsd-current mailing list