| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
ok oga@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rwlock misuse. In particular, this commit makes the following
changes:
1. i386 and amd64 now count the number of active mutexes so that
assertwaitok(9) can detect attempts to sleep while holding a mutex.
2. i386 and amd64 check that we actually hold mutexes when passed to
mtx_leave().
3. Calls to rw_exit*() now call rw_assert_{rd,wr}lock() as
appropriate.
ok krw@, oga@; "sounds good to me" deraadt@; assembly bits double
checked by pirofti@
|
| |
|
|
| |
Bad blambert@, no biscuit.
|
| |
|
|
| |
ok art@
|
| |
|
|
| |
ok krw marco pedro
|
| |
|
|
| |
Pointed out by thib@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
test_and_set name for some other operation, while cas is generally
used for compare and set (cmpxchg in intel land, cas in sparc land).
- Make rw locks properly MP safe (provided that rw_cas is implemented
in MD code). Most operations were MP safe except the sleep where we
could have set the "I'm sleeping" flag before actually going to sleep
so that the wakeup could miss us. Now, using the split tsleep,
we first setup the sleep (put us on the sleep queues), then set
the flag aborting the sleep if the lock has changed and then finally
go to sleep.
miod@ ok (and he's been prodding me for days to get this in)
|
| |
|
|
|
|
|
| |
without letting any other exclusive locks in between. As opposed to upgrading
locks, this is easy and solves real problems.
deraadt@ ok
|
| |
|
|
| |
ok brad
|
| |
|
|
|
|
|
| |
rework the main entry points to just use rw_test_and_set.
rework exit paths to be more like enter paths.
add sleepfail so more lockmgr can be replaced.
some from art, ok sturm
|
| |
|
|
|
|
| |
without breaking into ddb. doubles the size of rwlock [1], but moving
forward this really helps. ok/tested pedro fgsch millert krw
[1 - next person to add a field to this struct gets whipped with a wet noodle]
|
| | |
|
| | |
|
| |
|
|
|
| |
mostly cleanup and simplification, though now also supporting
upgrade and downgrade via the magic wand.
|
| |
|
|
|
|
|
|
|
| |
is horrible and doesn't add anything.
Remove it.
XXX - the fdplock macro will need a separate cleanup.
niklas@ markus@ ok
|
| | |
|
|
|
later. have been looked over for quite some time now.
|