Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 May 2009 16:54:11 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Scott Long <scottl@samsco.org>
Cc:        src-committers@freebsd.org, John Baldwin <jhb@freebsd.org>, svn-src-all@freebsd.org, Attilio Rao <attilio@freebsd.org>, rwatson@freebsd.org, svn-src-head@freebsd.org, "M. Warner Losh" <imp@bsdimp.com>
Subject:   Re: svn commit: r192535 - head/sys/kern
Message-ID:  <20090522135411.GB1927@deviant.kiev.zoral.com.ua>
In-Reply-To: <4A16AC32.2040507@samsco.org>
References:  <3bbf2fe10905210629p46c7a204v6863aaba77354462@mail.gmail.com> <20090521194243.GW1927@deviant.kiev.zoral.com.ua> <3bbf2fe10905211511g53defb6cmac45fc2469cc64f@mail.gmail.com> <200905220921.34785.jhb@freebsd.org> <4A16AC32.2040507@samsco.org>

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

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

On Fri, May 22, 2009 at 07:44:18AM -0600, Scott Long wrote:
> John Baldwin wrote:
> >On Thursday 21 May 2009 6:11:02 pm Attilio Rao wrote:
> >>At this point I wonder what's the purpose of maintaining the sleeping
> >>version for such functions?
> >
> >Actually, I still very much do not like using M_NOWAIT needlessly.  I=20
> >would much rather the solution for make_dev() be that the 1 or 2 places=
=20
> >that need to do it with a mutex held instead queue a task to do the actu=
al=20
> >make_dev() in a taskqueue when no locks are held.  This is basically wha=
t=20
> >destroy_dev_sched() is doing.  Perhaps a make_dev_sched() with a similar=
=20
> >callback to be called on completion would be better.  Having a device=20
> >driver do all the work to setup the hardware only to fail to create a no=
de=20
> >in /dev so that userland can actually use it is pretty rediculous and=20
> >useless.
> >
>=20
> It's a lot easier for me to handle a failure of make_dev in CAM than it=
=20
> is to decouple the call to it.  Please don't dictate policy.

The second patch I posted yesterday allows to specify the flag that means
"no sleep, could fail" to make_dev. Without the flag, make_dev behaves
in the current fashion, i.e. sleep, cannot fail.

Is this solution suitable for your needs ?

--CQ3bIqlPgDWyQ28b
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iEYEARECAAYFAkoWroMACgkQC3+MBN1Mb4igmACeKmtDEP4p6reGG/FXGNsluaNH
ue0AnRgT0uBkgnJEs/CrpDyq88pS2olU
=XyyQ
-----END PGP SIGNATURE-----

--CQ3bIqlPgDWyQ28b--



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