summaryrefslogtreecommitdiff
path: root/sys/kern/kern_rwlock.c
AgeCommit message (Collapse)Author
2007-05-13print lock name in some panic messages so we know what's upTed Unangst
ok krw marco pedro
2007-05-04Kill a dead variable.Artur Grabowski
Pointed out by thib@
2007-05-04- Rename rw_test_and_set to rw_cas, since most litterature uses theArtur Grabowski
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)
2007-04-04Implement RW_DOWNGRADE that downgrades an exclusive lock to a shared lockArtur Grabowski
without letting any other exclusive locks in between. As opposed to upgrading locks, this is easy and solves real problems. deraadt@ ok
2006-11-30s/completly/completely/Michael Knudsen
ok brad
2006-06-02remove upgrade/downgrade, they are useless.Ted Unangst
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
2006-05-07add a name to rwlock so that we can tell where procs are getting stuckTed Unangst
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]
2006-04-20much -> mustPedro Martelletto
2006-01-06oring in PCATCH doesn't help if we don't pass the right prio to tsleepTed Unangst
2006-01-06check in of "rwlock.20051230" from art.Ted Unangst
mostly cleanup and simplification, though now also supporting upgrade and downgrade via the magic wand.
2004-07-21I was wrong. The assymetry created by the proc argument to rw_enter_writeArtur Grabowski
is horrible and doesn't add anything. Remove it. XXX - the fdplock macro will need a separate cleanup. niklas@ markus@ ok
2003-11-18don't leave test code enabled, spotted Dries SchellekensTed Unangst
2003-11-18add lightwight reader/writer locks from art@. we will be using theseTed Unangst
later. have been looked over for quite some time now.