Date: Tue, 3 Jul 2007 21:01:41 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: current@freebsd.org Subject: HEADS UP: destroy_dev_sched() KPI in the tree Message-ID: <20070703180141.GJ2200@deviant.kiev.zoral.com.ua>
next in thread | raw e-mail | index | archive | help
--+Hr//EUsa8//ouuB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Today, I got re@ permission and committed the destroy_dev_sched() KPI into the tree. As suggested by Nate Lawson, destroy_dev() tries to auto-detect "devdrn" deadlock condition and transforms destroy_dev() from d_close() csw method into destroy_dev_sched(). I together with Peter Holm tried to test the change as thoroughly as possible. The obvious problematic area are the races between device driver module unload and destroy_dev_sched(). At least smb(4) definitely has that race that shall be worked around by draining events with drain_dev_clone_events() and destroy_dev_drain(&cdevsw); see snp(4) change for example. Please, report issues caused by the patch to the list with me Cc:ed. Change of autodetection of deadlock in destroy_dev() was made in separate commit for ease of reverting. --+Hr//EUsa8//ouuB Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFGio8EC3+MBN1Mb4gRAnoCAJ0aQ1bXOYd1kI0YTWosXOyxU/3buwCffhUy l8BOIcnF1Fkmgct+8jFYOWw= =9AjK -----END PGP SIGNATURE----- --+Hr//EUsa8//ouuB--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070703180141.GJ2200>