summaryrefslogtreecommitdiff
path: root/lib/sbitmap.c
AgeCommit message (Expand)AuthorFilesLines
2024-09-20lib/sbitmap: define swap_lock as raw_spinlock_tMing Lei1-2/+2
2024-07-19sbitmap: fix io hung due to race on sbitmap_word::clearedYang Yang1-7/+29
2024-04-26sbitmap: use READ_ONCE to access map->wordlinke li1-4/+4
2024-01-15sbitmap: remove stale comment in sbq_calc_wake_batchKemeng Shi1-5/+0
2023-07-21sbitmap: fix batching wakeupDavid Jeffery1-8/+7
2023-01-29sbitmap: correct wake_batch recalculation to avoid potential IO hungKemeng Shi1-4/+1
2023-01-29sbitmap: add sbitmap_find_bit to remove repeat code in __sbitmap_get/__sbitma...Kemeng Shi1-37/+33
2023-01-29sbitmap: rewrite sbitmap_find_bit_in_index to reduce repeat codeKemeng Shi1-15/+15
2023-01-29sbitmap: remove redundant check in __sbitmap_queue_get_batchKemeng Shi1-5/+3
2023-01-29sbitmap: remove unnecessary calculation of alloc_hint in __sbitmap_get_shallowKemeng Shi1-7/+4
2022-12-13Merge tag 'for-6.2/block-2022-12-08' of git://git.kernel.dk/linuxLinus Torvalds1-106/+38
2022-11-18treewide: use get_random_u32_below() instead of deprecated functionJason A. Donenfeld1-2/+2
2022-11-16sbitmap: Try each queue to wake up at least one waiterGabriel Krisman Bertazi1-16/+12
2022-11-16sbitmap: Advance the queue index before waking up a queueGabriel Krisman Bertazi1-2/+8
2022-11-11sbitmap: Use single per-bitmap counting to wake up queued tagsGabriel Krisman Bertazi1-96/+26
2022-10-11treewide: use prandom_u32_max() when possible, part 2Jason A. Donenfeld1-1/+1
2022-10-11treewide: use prandom_u32_max() when possible, part 1Jason A. Donenfeld1-1/+1
2022-09-29sbitmap: fix lockup while swappingHugh Dickins1-1/+1
2022-09-12sbitmap: fix batched wait_cnt accountingKeith Busch1-14/+23
2022-09-08sbitmap: Use atomic_long_try_cmpxchg in __sbitmap_queue_get_batchUros Bizjak1-5/+5
2022-09-08sbitmap: Avoid leaving waitqueue in invalid state in __sbq_wake_up()Jan Kara1-3/+15
2022-09-04Revert "sbitmap: fix batched wait_cnt accounting"Jens Axboe1-17/+14
2022-09-01sbitmap: fix batched wait_cnt accountingKeith Busch1-14/+17
2022-08-26sbitmap: remove unnecessary code in __sbitmap_queue_get_batchLiu Song1-3/+2
2022-08-23sbitmap: fix possible io hung due to lost wakeupYu Kuai1-22/+33
2022-06-25lib/sbitmap: Fix invalid loop in __sbitmap_queue_get_batch()wuchi1-1/+4
2022-03-21lib/sbitmap: allocate sb->map via kvzalloc_nodeMing Lei1-1/+1
2022-02-08sbitmap: Delete old sbitmap_queue_get_shallow()John Garry1-3/+3
2022-02-08lib/sbitmap: kill 'depth' from sbitmap_wordMing Lei1-20/+14
2022-01-27blk-mq: Fix wrong wakeup batch configuration which will cause hangLaibin Qiu1-2/+6
2022-01-13blk-mq: fix tag_get wait task can't be awakenedLaibin Qiu1-3/+22
2021-10-25sbitmap: silence data race warningJens Axboe1-1/+1
2021-10-18sbitmap: add helper to clear a batch of tagsJens Axboe1-3/+41
2021-10-18sbitmap: add __sbitmap_queue_get_batch()Jens Axboe1-0/+51
2021-07-08lib: fix spelling mistakesZhen Lei1-1/+1
2021-03-04scsi: sbitmap: Add sbitmap_calculate_shift() helperMing Lei1-13/+3
2021-03-04scsi: sbitmap: Export sbitmap_weightMing Lei1-5/+6
2021-03-04scsi: sbitmap: Move allocation hint into sbitmapMing Lei1-46/+66
2021-03-04scsi: sbitmap: Add helpers for updating allocation hintMing Lei1-39/+54
2021-03-04scsi: sbitmap: Maintain allocation round_robin in sbitmapMing Lei1-14/+14
2020-12-07sbitmap: simplify wrap checkPavel Begunkov1-3/+5
2020-12-07sbitmap: replace CAS with atomic andPavel Begunkov1-5/+3
2020-12-07sbitmap: remove swap_lockPavel Begunkov1-11/+3
2020-12-07sbitmap: optimise sbitmap_deferred_clear()Pavel Begunkov1-12/+12
2020-07-01sbitmap: Consider cleared bits in sbitmap_bitmap_show()John Garry1-0/+3
2019-12-20sbitmap: only queue kyber's wait callback if not already activeDavid Jeffery1-1/+1
2019-11-13sbitmap: Delete sbitmap_any_bit_clear()John Garry1-17/+0
2019-07-01sbitmap: Replace cmpxchg with xchgPavel Begunkov1-7/+3
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 328Thomas Gleixner1-12/+1
2019-05-23sbitmap: fix improper use of smp_mb__before_atomic()Andrea Parri1-1/+1