Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Aug 2008 11:38:40 -0700
From:      Julian Elischer <julian@elischer.org>
To:        Ed Maste <emaste@freebsd.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Acquiring a mtx after an sx lock
Message-ID:  <48A9C1B0.5010805@elischer.org>
In-Reply-To: <48A9BFED.604@elischer.org>
References:  <bc2d970808180814ue926d43s7966b36ffa3c9699@mail.gmail.com>	<200808181754.18812.max@love2party.net>	<bc2d970808180902h1ded9bcbp494d276ede0eeed@mail.gmail.com>	<20080818162411.GA77460@sandvine.com> <48A9BFED.604@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote:
> Ed Maste wrote:
>> On Mon, Aug 18, 2008 at 12:02:56PM -0400, Ryan Stone wrote:
>>
>>> On Mon, Aug 18, 2008 at 11:54 AM, Max Laier <max@love2party.net> wrote:
>>>
>>>> On Monday 18 August 2008 17:14:01 Ryan Stone wrote:
>>>>> Are there any problems acquiring a sleep mutex after acquiring an sx
>>>> lock?
>>>>> man 9 locking says that you can't, but doesn't provide any reasons.
>>>> [...]
>>>>
>>>> Where does it say so?  The interaction table clearly shows: [...]
>>
>> Ahh, it seems ups' commit of rmlocks changed the "You have: sx_lock,
>> You want: Slp_mtx" case from no to ok (in r173444).
> 
> 
> hmmm
> you know, I'm not sure what the correct answer is.. I thought rw locks 
> were mutex compatible but sx locks were NOT..

Ignore me.. I was reading the table backwards.. of course if you have 
an sx you can still take out a mutex, but not visa versa.

An sx lock is considered related to a sleep. (i.e. may be long term)
and as such must not be taken out when holding a mutex, which must
not sleep.

> 
>>
>> -Ed
>> _______________________________________________
>> freebsd-hackers@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to 
>> "freebsd-hackers-unsubscribe@freebsd.org"
> 
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"




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