Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jan 2001 11:21:15 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Matt Dillon <dillon@earth.backplane.com>
Cc:        current@FreeBSD.org, arch@FreeBSD.org, Soren Schmidt <sos@freebsd.dk>, Randell Jesup <rjesup@wgate.com>, Alfred Perlstein <bright@wintelcom.net>
Subject:   Re: HEADS-UP: await/asleep removal imminent
Message-ID:  <XFMail.010117112115.jhb@FreeBSD.org>
In-Reply-To: <200101171907.f0HJ7Qe48680@earth.backplane.com>

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

On 17-Jan-01 Matt Dillon wrote:
>:* Alfred Perlstein <bright@wintelcom.net> [010117 09:24] wrote:
>:> 
>:> I'm not going to axe it for a few days, this is a really amazing
>:> API that Matt added, the problem is utility and useage over code
>:> complexity.
>:> 
>:> It's just a proposal.
>:
>:I found several places where it may be useful, but I'm not sure if the
>:benefits outweigh the gains.
>:...
>:
>:The lock must be unwound becasue we're calling MGETHDR with M_TRYWAIT.
>:If wae used M_TRY'A'WAIT the code would probably look something like
>:this:
> 
>     The basic premis of using asleep()/await() is to allow you to
>     propogate a 'blocking condition' back up to a higher level rather
>     then blocking deep in side the kernel.

Gotcha.  Given that, if we switch to using condition variables for this, why
not have the low level code return a pointer to a cv to wait on?  This would do
the same thing using an existing API (now) and I think would serve the same
purposes as your API.  Returning NULL for a cv would mean that no sleep was
required.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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