Date: Tue, 12 Sep 2000 11:28:10 +0930 From: Greg Lehey <grog@lemis.com> To: Chuck Paterson <cp@bsdi.com> Cc: Alfred Perlstein <bright@wintelcom.net>, arch@FreeBSD.ORG Subject: Re: Interruptable mutex aquires. Message-ID: <20000912112810.G88615@wantadilla.lemis.com> In-Reply-To: <200009111815.MAA21525@berserker.bsdi.com>; from cp@bsdi.com on Mon, Sep 11, 2000 at 12:15:35PM -0600 References: <200009111815.MAA21525@berserker.bsdi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, 11 September 2000 at 12:15:35 -0600, Chuck Paterson wrote:
> Alfred Perlstein wrote on: Sun, 10 Sep 2000 19:36:02 PDT
>>
>> There's a lot of code in the kernel that does this:
>>
>> while(lock != mine) {
>> error = tsleep(&lock, PRIBIO, "foo", PCATCH);
>> if (error)
>> return(error);
>>>
>> lock = mine;
>>
>> Ok, well the equivelant way to do this with mutexes would be
>> to add a new function 'mtx_enter_interruptable()' [*]
>> that attempts to aquire a mutex but if interrupted returns
>> an error suitable for aborting the operation.
>
> In the followng the lock which is acquired is often held for
> long periods, including while an IO is in progress, where as mutexs
> don't want to be held across an io.
We discussed this in June, but I still don't understand what there is
in the nature of mutexes which makes it undesirable to hold them for
long times. This seems to be more of a usage thing: the mutexes we
(and BSD/OS) currently have want to be released quickly.
Greg
--
Finger grog@lemis.com for PGP public key
See complete headers for address and phone numbers
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000912112810.G88615>
