aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/locking/rwsem.c
AgeCommit message (Expand)AuthorFilesLines
2024-02-28locking/rwsem: Clarify that RWSEM_READER_OWNED is just a hintWaiman Long1-3/+3
2023-09-20locking/rtmutex: Use rt_mutex specific scheduler helpersSebastian Andrzej Siewior1-1/+7
2023-05-08locking/rwsem: Add __always_inline annotation to __down_read_common() and inl...John Stultz1-4/+4
2023-01-26locking/rwsem: Disable preemption in all down_write*() and up_write() code pathsWaiman Long1-19/+19
2023-01-26locking/rwsem: Disable preemption in all down_read*() and up_read() code pathsWaiman Long1-6/+24
2023-01-26locking/rwsem: Prevent non-first waiter from spinning in down_write() slowpathWaiman Long1-10/+9
2022-09-15locking/rwsem: Disable preemption while trying for rwsem lockGokul krishna Krishnakumar1-2/+12
2022-07-30locking/rwsem: Allow slowpath writer to ignore handoff bit if not set by firs...Waiman Long1-10/+20
2022-04-05locking: Apply contention tracepoints in the slow pathNamhyung Kim1-0/+9
2022-04-05locking/rwsem: Always try to wake waiters in out_nolock pathWaiman Long1-10/+34
2022-04-05locking/rwsem: Conditionally wake waiters in reader/writer slowpathsWaiman Long1-36/+32
2022-04-05locking/rwsem: No need to check for handoff bit if wait queue emptyWaiman Long1-5/+4
2022-02-11locking: Add missing __sched attributesMinchan Kim1-1/+1
2021-12-13Merge tag 'v5.16-rc5' into locking/core, to pick up fixesIngo Molnar1-93/+89
2021-12-04locking: Make owner_on_cpu() into <linux/sched.h>Kefeng Wang1-9/+0
2021-11-23locking/rwsem: Optimize down_read_trylock() under highly contended caseMuchun Song1-7/+4
2021-11-23locking/rwsem: Make handoff bit handling more consistentWaiman Long1-86/+85
2021-10-19locking/rwsem: Fix comments about reader optimistic lock stealing conditionsYanfei Xu1-2/+1
2021-10-19locking: Remove rcu_read_{,un}lock() for preempt_{dis,en}able()Yanfei Xu1-5/+9
2021-10-19locking/rwsem: Disable preemption for spinning regionYanfei Xu1-23/+30
2021-09-02locking/rwsem: Add missing __init_rwsem() for PREEMPT_RTMike Galbraith1-4/+6
2021-08-17locking/rtmutex: Extend the rtmutex core to support ww_mutexPeter Zijlstra1-1/+1
2021-08-17locking/rtmutex: Guard regular sleeping locks specific functionsThomas Gleixner1-0/+1
2021-08-17locking/rwsem: Add rtmutex based R/W semaphore implementationThomas Gleixner1-0/+108
2021-08-17Merge tag 'v5.14-rc6' into locking/core, to pick up fixesIngo Molnar1-1/+1
2021-07-16locking/rwsem: Remove an unused parameter of rwsem_wake()xuyehan1-3/+3
2021-06-18sched: Change task_struct::statePeter Zijlstra1-1/+1
2021-03-22locking: Fix typos in commentsIngo Molnar1-1/+1
2021-03-17locking/rwsem: Fix comment typoBhaskar Chowdhury1-1/+1
2021-02-26kernel: delete repeated words in commentsRandy Dunlap1-1/+1
2020-12-09locking/rwsem: Remove reader optimistic spinningWaiman Long1-236/+48
2020-12-09locking/rwsem: Enable reader optimistic lock stealingWaiman Long1-0/+28
2020-12-09locking/rwsem: Prevent potential lock starvationWaiman Long1-2/+13
2020-12-09locking/rwsem: Pass the current atomic count to rwsem_down_read_slowpath()Waiman Long1-8/+10
2020-12-09locking/rwsem: Fold __down_{read,write}*()Peter Zijlstra1-22/+23
2020-12-09locking/rwsem: Introduce rwsem_write_trylock()Peter Zijlstra1-22/+16
2020-12-09locking/rwsem: Better collate rwsem_read_trylock()Peter Zijlstra1-7/+8
2020-12-09rwsem: Implement down_read_interruptibleEric W. Biederman1-0/+26
2020-12-09rwsem: Implement down_read_killable_nestedEric W. Biederman1-0/+14
2020-03-21lockdep: Introduce wait-type checksPeter Zijlstra1-1/+1
2020-02-11locking/rwsem: Remove RWSEM_OWNER_UNKNOWNPeter Zijlstra1-2/+0
2020-02-11locking/percpu-rwsem: Remove the embedded rwsemPeter Zijlstra1-5/+4
2020-02-11locking/percpu-rwsem, lockdep: Make percpu-rwsem use its own lockdep_mapPeter Zijlstra1-2/+2
2020-01-17locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWNWaiman Long1-2/+2
2019-10-09locking/lockdep: Remove unused @nested argument from lock_release()Qian Cai1-5/+5
2019-08-06locking/rwsem: Check for operations on an uninitialized rwsemDavidlohr Bueso1-4/+18
2019-08-06locking/rwsem: Make handoff writer optimistically spin on ownerWaiman Long1-6/+26
2019-07-25locking/rwsem: Add ACQUIRE commentsPeter Zijlstra1-5/+13
2019-07-25lcoking/rwsem: Add missing ACQUIRE to read_slowpath sleep loopPeter Zijlstra1-1/+3
2019-07-25locking/rwsem: Add missing ACQUIRE to read_slowpath exit when queue is emptyJan Stancek1-0/+2
2019-07-25locking/rwsem: Don't call owner_on_cpu() on read-ownerWaiman Long1-1/+5
2019-06-17locking/rwsem: Guard against making count negativeWaiman Long1-12/+41
2019-06-17locking/rwsem: Adaptive disabling of reader optimistic spinningWaiman Long1-4/+129
2019-06-17locking/rwsem: Enable time-based spinning on reader-owned rwsemWaiman Long1-30/+143
2019-06-17locking/rwsem: Make rwsem->owner an atomic_long_tWaiman Long1-45/+80
2019-06-17locking/rwsem: Enable readers spinning on writerWaiman Long1-12/+74
2019-06-17locking/rwsem: Clarify usage of owner's nonspinaable bitWaiman Long1-22/+21
2019-06-17locking/rwsem: Wake up almost all readers in wait queueWaiman Long1-5/+26
2019-06-17locking/rwsem: More optimal RT task handling of null ownerWaiman Long1-7/+44
2019-06-17locking/rwsem: Always release wait_lock before waking up tasksWaiman Long1-16/+15
2019-06-17locking/rwsem: Implement lock handoff to prevent lock starvationWaiman Long1-54/+171
2019-06-17locking/rwsem: Make rwsem_spin_on_owner() return owner stateWaiman Long1-18/+47
2019-06-17locking/rwsem: Code cleanup after files mergingWaiman Long1-93/+42
2019-06-17locking/rwsem: Merge rwsem.h and rwsem-xadd.c into rwsem.cWaiman Long1-0/+884
2019-04-10locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macroWaiman Long1-1/+2
2019-04-10locking/rwsem: Add debug check for __down_read*()Waiman Long1-3/+0
2019-04-10locking/rwsem: Move owner setting code from rwsem.c to rwsem.hWaiman Long1-17/+2
2018-09-10locking/rwsem: Make owner store task pointer of last owning readerWaiman Long1-3/+4
2018-06-20locking/rwsem: Fix up_read_non_owner() warning with DEBUG_RWSEMSWaiman Long1-0/+1
2018-05-16locking/rwsem: Add a new RWSEM_ANONYMOUSLY_OWNED flagWaiman Long1-2/+0
2018-03-31locking/rwsem: Add DEBUG_RWSEMS to look for lock/unlock mismatchesWaiman Long1-0/+4
2017-11-07Merge branch 'linus' into locking/core, to resolve conflictsIngo Molnar1-0/+1
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-10locking/rwsem: Add down_read_killable()Kirill Tkhai1-0/+16
2017-03-16locking/lockdep: Add new check to lock_downgrade()J. R. Okajima1-4/+2
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar1-0/+1
2016-06-08locking/rwsem: Add reader-owned state to the owner fieldWaiman Long1-2/+6
2016-05-26add down_write_killable_nested()Al Viro1-0/+16
2016-04-22locking/rwsem: Provide down_write_killable()Michal Hocko1-0/+19
2015-02-18locking/rwsem: Set lock ownership ASAPDavidlohr Bueso1-21/+1
2014-07-16locking/rwsem: Add CONFIG_RWSEM_SPIN_ON_OWNERDavidlohr Bueso1-1/+1
2014-06-05locking/rwsem: Support optimistic spinningDavidlohr Bueso1-1/+30
2013-11-06locking: Move the rwsem code to kernel/locking/Peter Zijlstra1-0/+157