aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-mq-tag.c
AgeCommit message (Expand)AuthorFilesLines
2023-06-26Merge tag 'for-6.5/block-2023-06-23' of git://git.kernel.dk/linuxLinus Torvalds1-5/+10
2023-06-12blk-mq: fix potential io hang by wrong 'wake_batch'Yu Kuai1-5/+10
2023-05-23blk-mq: fix race condition in active queue accountingTian Lan1-4/+8
2023-04-13blk-mq: include <linux/blk-mq.h> in block/blk-mq.hChristoph Hellwig1-1/+0
2023-04-13blk-mq: remove blk-mq-tag.hChristoph Hellwig1-1/+0
2022-09-12sbitmap: fix batched wait_cnt accountingKeith Busch1-1/+1
2022-09-04Revert "sbitmap: fix batched wait_cnt accounting"Jens Axboe1-1/+1
2022-09-01sbitmap: fix batched wait_cnt accountingKeith Busch1-1/+1
2022-07-06blk-mq: Drop local variable for reserved tagJohn Garry1-4/+2
2022-07-06blk-mq: Drop 'reserved' arg of busy_tag_iter_fnJohn Garry1-4/+3
2022-06-27blk-mq: blk_mq_tag_busy is no need to return a valueLiu Song1-11/+7
2022-06-02block: remove useless BUG_ON() in blk_mq_put_tag()Damien Le Moal1-1/+0
2022-03-08blk-mq: manage hctx map via xarrayMing Lei1-1/+1
2022-03-08blk-mq: prepare for implementing hctx table via xarrayMing Lei1-1/+1
2022-02-08sbitmap: Delete old sbitmap_queue_get_shallow()John Garry1-1/+1
2022-01-13blk-mq: fix tag_get wait task can't be awakenedLaibin Qiu1-7/+33
2021-12-06blk-mq: Optimise blk_mq_queue_tag_busy_iter() for shared tagsJohn Garry1-18/+41
2021-12-06blk-mq: Delete busy_iter_fnJohn Garry1-3/+3
2021-12-06blk-mq: Drop busy_iter_fn blk_mq_hw_ctx argumentJohn Garry1-1/+1
2021-12-03block: switch to atomic_t for request referencesJens Axboe1-1/+1
2021-10-21blk-mq: Fix blk_mq_tagset_busy_iter() for shared tagsJohn Garry1-2/+5
2021-10-18block: add support for blk_mq_end_request_batch()Jens Axboe1-0/+6
2021-10-18block: improve batched tag allocationJens Axboe1-0/+15
2021-10-18blk-mq: Change shared sbitmap naming to shared tagsJohn Garry1-9/+9
2021-10-18blk-mq: Stop using pointers for blk_mq_tags bitmap tagsJohn Garry1-36/+20
2021-10-18blk-mq: Use shared tags for shared sbitmap supportJohn Garry1-44/+19
2021-10-18blk-mq: Refactor and rename blk_mq_free_map_and_{requests->rqs}()John Garry1-2/+1
2021-10-18blk-mq: Add blk_mq_alloc_map_and_rqs()John Garry1-8/+1
2021-10-18blk-mq: Add blk_mq_tag_update_sched_shared_sbitmap()John Garry1-0/+6
2021-09-12blk-mq: avoid to iterate over stale requestMing Lei1-1/+1
2021-05-24blk-mq: Use request queue-wide tags for tagset-wide sbitmapJohn Garry1-6/+5
2021-05-24blk-mq: Some tag allocation code refactoringJohn Garry1-21/+33
2021-05-24blk-mq: clear stale request in tags->rq[] before freeing one request poolMing Lei1-2/+7
2021-05-24blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iterMing Lei1-11/+33
2021-04-06blk-mq: Always use blk_mq_is_sbitmap_sharedNikolay Borisov1-2/+2
2021-03-25blk-mq: Sentence reconstruct for better readabilityBhaskar Chowdhury1-2/+2
2020-09-29block-mq: fix comments in blk_mq_queue_tag_busy_iteryangerkun1-3/+1
2020-09-11blk-mq: always allow reserved allocation in hctx_may_queueMing Lei1-1/+2
2020-09-03blk-mq: Record active_queues_shared_sbitmap per tag_set for when using shared...John Garry1-8/+25
2020-09-03blk-mq: Facilitate a shared sbitmap per tagsetJohn Garry1-4/+47
2020-09-03blk-mq: Use pointers for blk_mq_tags bitmap tagsJohn Garry1-19/+22
2020-09-03blk-mq: Pass flags for tag init/freeJohn Garry1-5/+7
2020-09-03blk-mq: Free tags in blk_mq_init_tags() upon errorHannes Reinecke1-8/+10
2020-06-30blk-mq: move blk_mq_get_driver_tag into blk-mq.cMing Lei1-58/+0
2020-06-29blk-mq: remove the BLK_MQ_REQ_INTERNAL flagChristoph Hellwig1-2/+2
2020-06-15blk-mq: Remove redundant 'return' statementBaolin Wang1-1/+1
2020-06-07blk-mq: fix blk_mq_all_tag_iterMing Lei1-3/+9
2020-06-07blk-mq: split out a __blk_mq_get_driver_tag helperChristoph Hellwig1-0/+27
2020-05-29blk-mq: drain I/O when all CPUs in a hctx are offlineMing Lei1-0/+8
2020-05-29blk-mq: add blk_mq_all_tag_iterMing Lei1-18/+32
2020-05-29blk-mq: use BLK_MQ_NO_TAG in more placesChristoph Hellwig1-4/+4
2020-05-29blk-mq: rename BLK_MQ_TAG_FAIL to BLK_MQ_NO_TAGChristoph Hellwig1-2/+2
2020-02-26blk-mq: Remove some unused function argumentsJohn Garry1-2/+2
2019-11-13blk-mq: Delete blk_mq_has_free_tags() and blk_mq_can_queue()John Garry1-8/+0
2019-08-04blk-mq: introduce blk_mq_tagset_wait_completed_request()Ming Lei1-0/+32
2019-07-02blk-mq: remove blk_mq_put_ctx()Bart Van Assche1-8/+0
2019-04-30block: add SPDX tags to block layer files missing licensing informationChristoph Hellwig1-0/+1
2019-02-01blk-mq: save queue mapping result into ctx directlyJianchao Wang1-1/+1
2018-11-30sbitmap: optimize wakeup checkJens Axboe1-6/+5
2018-11-08blk-mq-tag: document tag iteration helper return valueJens Axboe1-4/+8
2018-11-08blk-mq-tag: change busy_iter_fn to return whether to continue or notJens Axboe1-2/+2
2018-11-07blk-mq: cache request hardware queue mappingJens Axboe1-8/+1
2018-11-07blk-mq: pass in request/bio flags to queue mappingJens Axboe1-2/+3
2018-11-07block: remove legacy rq taggingJens Axboe1-4/+2
2018-10-01Merge tag 'v4.19-rc6' into for-4.20/blockJens Axboe1-5/+2
2018-09-25blk-mq: Allow blocking queue tag iter callbacksKeith Busch1-9/+4
2018-09-21blk-mq: Document the functions that iterate over requestsBart Van Assche1-7/+64
2018-08-22Merge tag 'for-4.19/post-20180822' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+13
2018-08-21blk-mq: sync the update nr_hw_queues with blk_mq_queue_tag_busy_iterJianchao Wang1-1/+13
2018-08-14Merge tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-blockLinus Torvalds1-4/+7
2018-08-09blk-mq: count the hctx as active before allocating tagJianchao Wang1-0/+3
2018-08-02blk-mq: fix blk_mq_tagset_busy_iterMing Lei1-1/+1
2018-08-02blk-mq: fix updating tags depthMing Lei1-4/+4
2018-06-14blk-mq: remove blk_mq_tagset_iterChristoph Hellwig1-29/+0
2018-05-30blk-mq: only iterate over inflight requests in blk_mq_tagset_busy_iterChristoph Hellwig1-1/+1
2018-05-24blk-mq: avoid starving tag allocation after allocating process migratesMing Lei1-0/+12
2017-12-22blk-mq: improve heavily contended tag caseJens Axboe1-6/+7
2017-10-18block: remove blk_mq_reinit_tagsetSagi Grimberg1-7/+0
2017-10-18block: introduce blk_mq_tagset_iterSagi Grimberg1-5/+11
2017-08-18blk-mq: Make blk_mq_reinit_tagset() calls easier to readBart Van Assche1-4/+5
2017-08-09blk-mq-tag: check for NULL rq when iterating tagsJens Axboe1-2/+12
2017-04-14blk-mq: add shallow depth option for blk_mq_get_tag()Omar Sandoval1-1/+4
2017-03-13blk-mq: Fix tagset reinit in the presence of cpu hot-unplugSagi Grimberg1-0/+3
2017-03-02blk-mq-sched: Allocate sched reserved tags as specified in the original queue...Sagi Grimberg1-1/+1
2017-01-27blk-mq-sched: add flush insertion into blk_mq_sched_insert_request()Jens Axboe1-1/+7
2017-01-27blk-mq: move tags and sched_tags info from sysfs to debugfsOmar Sandoval1-27/+0
2017-01-25blk-mq: only apply active queue tag throttling for driver tagsJens Axboe1-5/+7
2017-01-20blk-mq: allow resize of scheduler requestsJens Axboe1-7/+44
2017-01-19blk-mq-tag: remove redundant check for 'data->hctx' being non-NULLJens Axboe1-4/+2
2017-01-17blk-mq: split tag ->rqs[] into twoJens Axboe1-2/+2
2017-01-17blk-mq-tag: cleanup the normal/reserved tag allocationJens Axboe1-58/+36
2016-10-09Merge branch 'for-4.9/block-irq' of git://git.kernel.dk/linux-blockLinus Torvalds1-9/+2
2016-09-17sbitmap: randomize initial alloc_hint valuesOmar Sandoval1-8/+0
2016-09-17sbitmap: push alloc policy into sbitmap_queueOmar Sandoval1-18/+15
2016-09-17sbitmap: push per-cpu last_tag into sbitmap_queueOmar Sandoval1-36/+17
2016-09-17blk-mq: abstract tag allocation out into sbitmap libraryOmar Sandoval1-353/+110
2016-09-15blk-mq: get rid of the cpumask in struct blk_mq_tagsChristoph Hellwig1-6/+0
2016-09-15blk-mq: remove ->map_queueChristoph Hellwig1-3/+2
2016-07-08blk-mq: Introduce blk_mq_reinit_tagsetSagi Grimberg1-0/+26
2016-04-12blk-mq: Make blk_mq_all_tag_busy_iter staticSagi Grimberg1-3/+2
2016-04-12blk-mq: Export tagset iter functionSagi Grimberg1-0/+12
2015-12-01blk-mq: add a flags parameter to blk_mq_alloc_requestChristoph Hellwig1-6/+5
2015-11-06mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep...Mel Gorman1-1/+1
2015-11-04Merge branch 'for-4.4/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+4
2015-10-15blk-mq: fix use-after-free in blk_mq_free_tag_set()Junichi Nomura1-0/+1
2015-10-09blk-mq: fix waitqueue_active without memory barrier in block/blk-mq-tag.cKosuke Tatsukawa1-0/+4
2015-10-01blk-mq: factor out a helper to iterate all tags for a request_queueChristoph Hellwig1-7/+20
2015-08-15blk-mq: fix race between timeout and freeing requestMing Lei1-2/+2
2015-06-01blk-mq: Shared tag enhancementsKeith Busch1-0/+38
2015-03-18blkmq: Fix NULL pointer deref when all reserved tags inSam Bradshaw1-2/+4
2015-02-11blk-mq: fix double-free in error pathTony Battersby1-0/+1
2015-01-23blk-mq: add tag allocation policyShaohua Li1-15/+24
2015-01-14blk-mq: fix false negative out-of-tags conditionJens Axboe1-17/+26
2014-12-31block: wake up waiters when a queue is marked dyingJens Axboe1-4/+10
2014-12-15Revert "blk-mq: Micro-optimize bt_get()"Jens Axboe1-1/+3
2014-12-13Merge branch 'for-3.19/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-29/+31
2014-12-09blk-mq: Micro-optimize bt_get()Bart Van Assche1-3/+1
2014-12-09blk-mq: Fix a race between bt_clear_tag() and bt_get()Bart Van Assche1-6/+5
2014-12-09blk-mq: Avoid that __bt_get_word() wraps multiple timesBart Van Assche1-2/+4
2014-12-08blk-mq: re-check for available tags after running the hardware queueJens Axboe1-0/+8
2014-12-08blk-mq: fix hang in bt_get()Bart Van Assche1-0/+7
2014-11-24blk-mq: cleanup tag free handlingJens Axboe1-18/+6
2014-11-12blk-mq: add blk_mq_unique_tag()Bart Van Assche1-0/+28
2014-10-07blk-mq: Make bt_clear_tag() easier to readBart Van Assche1-5/+2
2014-10-07blk-mq: fix potential hang if rolling wakeup depth is too highJens Axboe1-2/+2
2014-09-22blk-mq: fix and simplify tag iteration for the timeout handlerChristoph Hellwig1-26/+18
2014-06-17blk-mq: bitmap tag: fix races in bt_get() functionAlexander Gordeev1-8/+5
2014-06-17blk-mq: bitmap tag: fix race on blk_mq_bitmap_tags::wake_cntAlexander Gordeev1-2/+12
2014-06-17blk-mq: bitmap tag: fix races on shared ::wake_index fieldsAlexander Gordeev1-11/+21
2014-06-03blk-mq: fix schedule from atomic contextMing Lei1-17/+31
2014-05-28blk-mq: add file comments and update copyright noticesJens Axboe1-0/+12
2014-05-28blk-mq: remove blk_mq_wait_for_tagsChristoph Hellwig1-8/+0
2014-05-23blk-mq: export blk_mq_tag_busy_iterSam Bradshaw1-0/+1
2014-05-20blk-mq: allow changing of queue depth through sysfsJens Axboe1-23/+57
2014-05-19Merge branch 'for-3.16/blk-mq-tagging' into for-3.16/coreJens Axboe1-17/+95
2014-05-19blk-mq: move the cache friendly bitmap type of out blk-mq-tagJens Axboe1-5/+5
2014-05-13blk-mq: improve support for shared tags mapsJens Axboe1-17/+95
2014-05-10blk-mq: bitmap tag: cleanup blk_mq_init_tagsMing Lei1-4/+0
2014-05-10blk-mq: bitmap tag: select random tag betweet 0 and (depth - 1)Ming Lei1-4/+1
2014-05-10blk-mq: bitmap tag: remove barrier in bt_clear_tag()Ming Lei1-1/+0
2014-05-10blk-mq: bitmap tag: use clear_bit_unlock in bt_clear_tag()Ming Lei1-1/+5
2014-05-09blk-mq: use sparser tag layout for lower queue depthJens Axboe1-13/+32
2014-05-09blk-mq: implement new and more efficient tagging schemeJens Axboe1-76/+339
2014-04-29blk-mq: fix waiting for reserved tagsJens Axboe1-2/+2
2014-04-15blk-mq: split out tag initialization, support shared tagsChristoph Hellwig1-14/+0
2014-02-14Merge branch 'for-linus' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2014-02-10block: Fix type mismatch in ssize_t_blk_mq_tag_sysfs_showMasanari Iida1-1/+1
2014-01-23percpu_ida: Make percpu_ida_alloc + callers accept task state bitmaskKent Overstreet1-2/+4
2013-10-25blk-mq: new multi-queue block IO queueing mechanismJens Axboe1-0/+204