aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_sx.c
Commit message (Expand)AuthorAgeFilesLines
* lockprof: pass lock type as an argument instead of reading the spin flagMateusz Guzik2021-05-231-4/+4
* Minor style cleanupWarner Losh2021-04-181-1/+1
* locks: push lock_delay_arg_init calls downMateusz Guzik2020-11-241-6/+6
* sx: drop spurious volatile keywordMateusz Guzik2020-11-241-2/+2
* locks: fix a long standing bug for primitives with kdtrace but without spinningMateusz Guzik2020-07-231-2/+2
* Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)Pawel Biernacki2020-02-261-1/+2
* locks: add default delay structMateusz Guzik2020-01-051-0/+6
* locks: convert delay times to u_shortMateusz Guzik2020-01-051-6/+6
* sleep(9), sleepqueue(9): const'ify wchan pointersConrad Meyer2019-12-241-1/+1
* sx: check for SX_LOCK_SHARED | SX_LOCK_WRITE_SPINNER when exclusive-lockingMateusz Guzik2019-12-051-0/+6
* sx: retire SX_NOADAPTIVEMateusz Guzik2018-12-051-32/+11
* Make no assertions about lock state when the scheduler is stopped.Eric van Gyzen2018-11-131-1/+1
* 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