Poul-Henning Kamp wrote:
> In message <[EMAIL PROTECTED]>, Peter Wemm writes:
> >As you said, _sleeping_ is the problem.  M_WAITOK means "you may sleep if
> >you like".   ie: it is a time bomb waiting for the right low memory condition
> >which will then explode with a 100% authentic crash or lock up.
> >
> >Pretend it said M_SLEEPOK instead of M_WAITOK.
> 
> Uhm, I'm actually seeing the opposite behaviour as well: after I
> changed the md(4) driver to use M_NOWAIT I still see malloc/zalloc
> sleeping...

I'm with Poul on this one, Peter: M_WAITOK doesn't mean what
you think it means: it's doesn't mean tsleep may be called,
and M_NOWAIT doesn't mean tsleep() _won't_ be called, in
practice.

It's either incredibly badly named, or it's incredibly badly
implemented -- I would argue the latter, actually, since even
if it's completely orthogonal, you're screwed because it means
you have two call conversion systems, without a WITNESS
intersection to detect deadly embraces.  8-(.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to