Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Mar 2009 10:26:52 +0100
From:      Ed Schouten <ed@80386.nl>
To:        Yuriy Tsibizov <Yuriy.Tsibizov@gfk.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: mutex Giant recursed at /usr/src/sys/kern/tty.c:1222 (via linux_ioctl_termio)
Message-ID:  <20090302092652.GD19161@hoeg.nl>
In-Reply-To: <BA0C4C2EEBEBFD448415F22CE73EEC0C13CA10@ex-be-1.hhp.local>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
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@80386.nl>
 WWW: http://80386.nl/

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkmrplwACgkQ52SDGA2eCwV7jwCfZnFeg7ENFt2+cY5a1yTAH6td
CF8AnjWr3q9rKB6IqPBvO+rcVCYsTkJo
=Aec/
-----END PGP SIGNATURE-----
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090302092652.GD19161>