aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_sx.c
Commit message (Expand)AuthorAgeFilesLines
* sx: fixup a braino in r334024Mateusz Guzik2018-05-221-1/+1
* sx: port over writer starvation prevention measures from rwlockMateusz Guzik2018-05-221-97/+199
* fix uninitialized variable warning in reader locksMatt Macy2018-05-191-3/+3
* locks: extend speculative spin waiting for readers to drainMateusz Guzik2018-04-111-3/+11
* locks: slightly depessimize lockstatMateusz Guzik2018-03-171-20/+33
* sx: don't do an atomic op in upgrade if it cananot succeedMateusz Guzik2018-03-041-3/+13
* locks: fix a corner case in r327399Mateusz Guzik2018-03-041-33/+28
* sx: fix adaptive spinning broken in r327397Mateusz Guzik2018-03-021-2/+2
* Undo LOCK_PROFILING pessimisation after r313454 and r313455Mateusz Guzik2018-02-171-2/+7
* sx: retry hard shared unlock just like in r327905 for rwlocksMateusz Guzik2018-01-131-1/+4
* locks: adjust loop limit check when waiting for readersMateusz Guzik2017-12-311-1/+1
* sx: fix up non-smp compilation after r327397Mateusz Guzik2017-12-311-2/+2
* locks: re-check the reason to go to sleep after locking sleepq/turnstileMateusz Guzik2017-12-311-3/+11
* sx: read the SX_NOADAPTIVE flag and Giant ownership only onceMateusz Guzik2017-12-311-71/+87
* sys/kern: adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-0/+2
* sx: change sunlock to wake waiters up if it locked sleepqMateusz Guzik2017-11-251-19/+20
* locks: retry turnstile/sleepq loops on failed cmpsetMateusz Guzik2017-11-251-21/+13
* Have lockstat:::sx-release fire only after the lock state has changed.Mark Johnston2017-11-241-2/+1
* Add a missing lockstat:::sx-downgrade probe.Mark Johnston2017-11-241-7/+6
* sx: unbreak debug after r326107Mateusz Guzik2017-11-231-1/+1
* locks: pass the found lock value to unlock slow pathMateusz Guzik2017-11-221-7/+10
* locks: remove the file + line argument from internal primitives when not usedMateusz Guzik2017-11-221-17/+60
* locks: fix compilation issues without SMP or KDTRACE_HOOKSMateusz Guzik2017-11-171-2/+2
* sx: perform a minor cleanup of the unlock slowpathMateusz Guzik2017-11-171-7/+9
* locks: pull up PMC_SOFT_CALLs out of slow path loopsMateusz Guzik2017-11-171-11/+12
* sx: avoid branches if in the slow path if lockstat is disabledMateusz Guzik2017-11-171-12/+41
* locks: take the number of readers into account when waitingMateusz Guzik2017-10-051-3/+4
* locks: partially tidy up waiting on readersMateusz Guzik2017-10-051-5/+4
* Sprinkle __read_frequently on few obvious places.Mateusz Guzik2017-09-061-3/+3
* Fix the !TD_IS_IDLETHREAD(curthread) locking assertions.Mark Johnston2017-06-191-3/+5
* locks: ensure proper barriers are used with atomic ops when necessaryMateusz Guzik2017-03-011-1/+1
* locks: make trylock routines check for 'unowned' valueMateusz Guzik2017-02-191-3/+8
* locks: clean up trylock primitivesMateusz Guzik2017-02-181-12/+21
* sx: fix compilation on UP kernels after r313855Mateusz Guzik2017-02-171-1/+1
* locks: let primitives for modules unlock without always goging to the slsow pathMateusz Guzik2017-02-171-0/+4
* locks: remove SCHEDULER_STOPPED checks from primitives for modulesMateusz Guzik2017-02-171-4/+0
* locks: tidy up unlock fallback pathsMateusz Guzik2017-02-091-6/+8
* sx: implement slock/sunlock fast pathMateusz Guzik2017-02-081-57/+101
* locks: change backoff to exponentialMateusz Guzik2017-02-071-21/+3
* locks: fix recursion support after recent changesMateusz Guzik2017-02-061-0/+3
* sx: move lockstat handling out of inline primitivesMateusz Guzik2017-02-051-4/+16
* sx: add witness support missed in r313272Mateusz Guzik2017-02-051-1/+17
* sx: uninline slock/sunlockMateusz Guzik2017-02-051-52/+3
* sx: switch to fcmpsetMateusz Guzik2017-02-051-15/+8
* Sprinkle __read_mostly on backoff and lock profiling code.Mateusz Guzik2017-01-271-1/+1
* sx: reduce lock accesses similarly to r311172Mateusz Guzik2017-01-181-24/+44
* Return a non-NULL owner only if the lock is exclusively held in owner_sx().Mark Johnston2016-12-101-5/+7
* locks: fix sx compilation on mips after r303643Mateusz Guzik2016-08-031-0/+1
* locks: fix compilation for KDTRACE_HOOKS && !ADAPTIVE_* caseMateusz Guzik2016-08-021-2/+6
* locks: fix up ifdef guards introduced in r303643Mateusz Guzik2016-08-021-4/+4