Acquiring a mtx after an sx lock

Ed Maste emaste at freebsd.org
Tue Aug 19 15:27:10 UTC 2008


On Mon, Aug 18, 2008 at 11:38:40AM -0700, Julian Elischer wrote:

> >Ed Maste wrote:
> >>Ahh, it seems ups' commit of rmlocks changed the "You have: sx_lock,
> >>You want: Slp_mtx" case from no to ok (in r173444).
> 
> 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.

Yep, and ups' r173444 change didn't affect this at all, it just
corrected the table.

If I don't hear otherwise I'll merge the changes to the table to 7
sometime soon:

  You have:  You want: Spin_mtx Slp_mtx sx_lock rw_lock sleep
- SPIN mutex           ok       no      no      no      no-3
+ SPIN mutex           ok-1     no      no      no      no-3
  Sleep mutex          ok       ok-1    no      ok      no-3
- sx_lock              ok       no      ok-2    no      ok-4
+ sx_lock              ok       ok      ok-2    ok      ok-4
  rw_lock              ok       ok      no      ok-2    no-3

Have SPIN / want SPIN adds the "Recursion is defined per lock" footnote.

Have sx / want Slp & have sx / want rw change from no to ok.

- Ed


More information about the freebsd-hackers mailing list