Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jan 2010 21:07:41 +0100
From:      Ed Schouten <ed@80386.nl>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-hackers@freebsd.org, Alexander Motin <mav@freebsd.org>, FreeBSD-Current <freebsd-current@freebsd.org>, Pawel Jakub Dawidek <pjd@freebsd.org>, freebsd-geom@freebsd.org
Subject:   Re: Deadlock between GEOM and devfs device destroy and process exit.
Message-ID:  <20100130200741.GG77705@hoeg.nl>
In-Reply-To: <20100130193402.GB3877@deviant.kiev.zoral.com.ua>
References:  <4B636812.8060403@FreeBSD.org> <20100130112749.GA1660@garage.freebsd.pl> <20100130114451.GB1660@garage.freebsd.pl> <4B647FAF.4090409@FreeBSD.org> <20100130193402.GB3877@deviant.kiev.zoral.com.ua>

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

--213B/23bCmw+8GSd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi all,

* Kostik Belousov <kostikbel@gmail.com> wrote:
> My exemplary case has been snp(4) before tty got rewritten, see r. 1.107
> of sys/dev/snp/snp.c. No calls to destroy_dev_sched() that I placed in
> the src/ a kept around, that is good because corresponding subsystems
> got serious rewrite.

The current TTY code still uses destroy_dev_sched_cb(). In a very old
version of the new TTY code, close() on a pseudo-terminal master device
would also end up calling destroy_dev(), which meant it blocked until
the TTY was closed as well, which is obviously not what it should do.

I changed the TTY code to destroy_dev_sched_cb(), which means tty_gone()
doesn't block. The TTY layer later calls a callback function, so the pts
driver can deallocate the softc and reclaim the unit number (pts/%d).

--=20
 Ed Schouten <ed@80386.nl>
 WWW: http://80386.nl/

--213B/23bCmw+8GSd
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAktkkY0ACgkQ52SDGA2eCwWflQCdFWmTG3J08ANqTv7nfWwvgTqB
B48An2Pi0/1RaRXOzwYoGOXgGBYinlHo
=VEWu
-----END PGP SIGNATURE-----

--213B/23bCmw+8GSd--



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