Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Feb 2010 10:23:34 +0100
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Alexander Motin <mav@FreeBSD.org>
Cc:        freebsd-hackers@freebsd.org, FreeBSD-Current <freebsd-current@freebsd.org>, kib@FreeBSD.org, freebsd-geom@freebsd.org
Subject:   Re: Deadlock between GEOM and devfs device destroy and process exit.
Message-ID:  <20100201092334.GB1743@garage.freebsd.pl>
In-Reply-To: <20100130114451.GB1660@garage.freebsd.pl>
References:  <4B636812.8060403@FreeBSD.org> <20100130112749.GA1660@garage.freebsd.pl> <20100130114451.GB1660@garage.freebsd.pl>

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

--1UWUbFP1cBYEclgG
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Jan 30, 2010 at 12:44:51PM +0100, Pawel Jakub Dawidek wrote:
> Maybe I'll add how I understand what's going on:
>=20
> GEOM calls destroy_dev() while holding the topology lock.
>=20
> Destroy_dev() wants to destroy device, but can't because there are
> threads that still have it open.
>=20
> The threads can't close it, because to close it they need the topology
> lock.
>=20
> The deadlock is quite obvious, IMHO.

Guys, changing destroy_dev() to destroy_dev_sched() in geom_dev.c fixes
the problem for me (at least it makes race window so small that I can't
reproduce it). Is there anyone who isn't happy with such a change?

--=20
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--1UWUbFP1cBYEclgG
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFLZp2WForvXbEpPzQRAn35AJ90hK1k5qJWXM68Y6u2ZFu7WP3E+gCgmqPv
6sEImmRWQ3kLgUElGxoKA04=
=o3JH
-----END PGP SIGNATURE-----

--1UWUbFP1cBYEclgG--



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