Re: svn commit: r192535 - head/sys/kern

[ Available lists | Index of svn-src-head | Month of May 2009 | Week of 22 May 2009 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Kostik Belousov <kostikbel@gmail.com>
Date
22 May 2009 13:54:34
Subject
Re: svn commit: r192535 - head/sys/kern
Message-ID
20090522135411.GB1927@deviant.kiev.zoral.com.ua


[ Hide this part ]
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
> >would much rather the solution for make_dev() be that the 1 or 2 places
> >that need to do it with a mutex held instead queue a task to do the actual
> >make_dev() in a taskqueue when no locks are held. This is basically what
> >destroy_dev_sched() is doing. Perhaps a make_dev_sched() with a similar
> >callback to be called on completion would be better. Having a device
> >driver do all the work to setup the hardware only to fail to create a node
> >in /dev so that userland can actually use it is pretty rediculous and
> >useless.
> >
>
> It's a lot easier for me to handle a failure of make_dev in CAM than it
> 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 ?


[ Show this part (application/pgp-signature) ]

Elapsed time: 0.134 seconds