aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-mq.h
AgeCommit message (Expand)AuthorFilesLines
2024-04-17block: Do not special-case plugging of zone write operationsDamien Le Moal1-31/+0
2023-09-22blk-mq: update driver tags request table when start requestChengming Zhou1-3/+0
2023-09-22blk-mq: account active requests when get driver tagChengming Zhou1-15/+41
2023-06-12blk-mq: fix potential io hang by wrong 'wake_batch'Yu Kuai1-2/+1
2023-05-19blk-mq: don't use the requeue list to queue flush commandsChristoph Hellwig1-1/+0
2023-05-19blk-mq: defer to the normal submission path for non-flush flush commandsChristoph Hellwig1-4/+0
2023-05-18blk-mq: make sure elevator callbacks aren't called for passthrough requestChristoph Hellwig1-3/+3
2023-04-26Merge tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linuxLinus Torvalds1-11/+66
2023-04-13blk-mq: pass a flags argument to blk_mq_add_to_requeue_listChristoph Hellwig1-1/+1
2023-04-13blk-mq: pass a flags argument to blk_mq_request_bypass_insertChristoph Hellwig1-1/+1
2023-04-13blk-mq: pass a flags argument to blk_mq_insert_requestChristoph Hellwig1-0/+3
2023-04-13blk-mq: don't kick the requeue_list in blk_mq_add_to_requeue_listChristoph Hellwig1-2/+1
2023-04-13blk-mq: don't run the hw_queue from blk_mq_request_bypass_insertChristoph Hellwig1-2/+1
2023-04-13blk-mq: fold __blk_mq_insert_request into blk_mq_insert_requestChristoph Hellwig1-2/+0
2023-04-13blk-mq: fold blk_mq_sched_insert_requests into blk_mq_dispatch_plug_listChristoph Hellwig1-2/+0
2023-04-13blk-mq: move more logic into blk_mq_insert_requestsChristoph Hellwig1-3/+1
2023-04-13blk-mq: include <linux/blk-mq.h> in block/blk-mq.hChristoph Hellwig1-0/+1
2023-04-13blk-mq: remove blk-mq-tag.hChristoph Hellwig1-1/+60
2023-03-14blk-mq: fix "bad unlock balance detected" on q->srcu in __blk_mq_run_dispatch...Chris Leech1-2/+3
2022-11-02blk-mq: move the srcu_struct used for quiescing to the tagsetChristoph Hellwig1-7/+7
2022-09-29block: adapt blk_mq_plug() to not plug for writes that require a zone lockPankaj Raghav1-1/+2
2022-07-14block: Use the new blk_opf_t typeBart Van Assche1-3/+3
2022-07-06block: simplify blk_mq_plugChristoph Hellwig1-10/+8
2022-07-06block: use bdev_is_zoned instead of open coding itChristoph Hellwig1-1/+1
2022-06-28blk-mq: cleanup disk sysfs registrationChristoph Hellwig1-1/+2
2022-06-28blk-mq: rename blk_mq_sysfs_{,un}registerChristoph Hellwig1-2/+2
2022-06-27block: Rename a blk_mq_map_queue() argumentBart Van Assche1-6/+6
2022-03-08blk-mq: manage hctx map via xarrayMing Lei1-1/+1
2021-12-06blk-mq: don't run might_sleep() if the operation needn't blockingMing Lei1-2/+5
2021-12-03blk-mq: pass request queue to blk_mq_run_dispatch_opsMing Lei1-4/+4
2021-12-03blk-mq: move srcu from blk_mq_hw_ctx to request_queueMing Lei1-2/+2
2021-12-03blk-mq: remove hctx_lock and hctx_unlockMing Lei1-0/+16
2021-11-29block: move request based cloning helpers to blk-mq.cChristoph Hellwig1-3/+0
2021-11-15blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and disk_release()Ming Lei1-0/+2
2021-11-12blk-mq: fix filesystem I/O request allocationMing Lei1-11/+15
2021-11-09block: use enum type for blk_mq_alloc_data->rq_flagsJens Axboe1-1/+1
2021-11-03blk-mq: update hctx->nr_active in blk_mq_end_request_batch()Ming Lei1-3/+9
2021-10-27block: add rq_flags to struct blk_mq_alloc_dataJens Axboe1-4/+4
2021-10-20blk-mq: move blk_mq_flush_plug_list to block/blk-mq.hChristoph Hellwig1-0/+1
2021-10-19block: inline fast path of driver tag allocationJens Axboe1-1/+14
2021-10-18block: add a struct io_comp_batch argument to fops->iopoll()Jens Axboe1-1/+2
2021-10-18block: remove debugfs blk_mq_ctx dispatched/merged/completed attributesJens Axboe1-7/+0
2021-10-18block: switch polling to be bio basedChristoph Hellwig1-0/+2
2021-10-18block: rename REQ_HIPRI to REQ_POLLEDChristoph Hellwig1-2/+2
2021-10-18block: pre-allocate requests if plug is started and is a batchJens Axboe1-0/+5
2021-10-18blk-mq: Change shared sbitmap naming to shared tagsJohn Garry1-8/+8
2021-10-18blk-mq: Use shared tags for shared sbitmap supportJohn Garry1-4/+3
2021-10-18blk-mq: Refactor and rename blk_mq_free_map_and_{requests->rqs}()John Garry1-1/+3
2021-10-18blk-mq: Add blk_mq_alloc_map_and_rqs()John Garry1-7/+2
2021-06-24blk: Fix lock inversion between ioc lock and bfqd lockJan Kara1-0/+11
2021-06-03block: Do not pull requests from the scheduler when we cannot dispatch themJan Kara1-0/+2
2021-05-24blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iterMing Lei1-0/+1
2021-03-04scsi: blk-mq: Return budget token from .get_budget callbackMing Lei1-4/+21
2021-01-24blk-mq: test QUEUE_FLAG_HCTX_ACTIVE for sbitmap_shared in hctx_may_queueMing Lei1-1/+1
2020-12-12blk-mq: update arg in comment of blk_mq_map_queueMinwoo Im1-1/+1
2020-12-01block: switch partition lookup to use struct block_deviceChristoph Hellwig1-3/+4
2020-09-03blk-mq: Record active_queues_shared_sbitmap per tag_set for when using shared...John Garry1-3/+13
2020-09-03blk-mq: Record nr_active_requests per queue for when using shared sbitmapJohn Garry1-2/+24
2020-09-03blk-mq: Relocate hctx_may_queue()John Garry1-0/+32
2020-09-03blk-mq: Facilitate a shared sbitmap per tagsetJohn Garry1-0/+5
2020-09-03blk-mq: Pass flags for tag init/freeJohn Garry1-2/+3
2020-07-01Revert "blk-mq: put driver tag when this request is completed"Jens Axboe1-0/+20
2020-06-30blk-mq: move blk_mq_put_driver_tag() into blk-mq.cMing Lei1-20/+0
2020-06-30blk-mq: pass obtained budget count to blk_mq_dispatch_rq_listMing Lei1-1/+2
2020-06-30blk-mq: pass hctx to blk_mq_dispatch_rq_listMing Lei1-1/+1
2020-06-30blk-mq: pass request queue into get/put budget callbackMing Lei1-8/+4
2020-06-29blk-mq: remove the BLK_MQ_REQ_INTERNAL flagChristoph Hellwig1-1/+1
2020-06-07blk-mq: split out a __blk_mq_get_driver_tag helperChristoph Hellwig1-1/+0
2020-05-29blk-mq: use BLK_MQ_NO_TAG in more placesChristoph Hellwig1-2/+2
2020-02-26blk-mq: Remove some unused function argumentsJohn Garry1-1/+1
2020-02-24blk-mq: insert passthrough request into hctx->dispatch directlyMing Lei1-1/+2
2019-10-07blk-mq: Inline status checkersPavel Begunkov1-9/+0
2019-07-10block: Disable write plugging for zoned block devicesDamien Le Moal1-0/+32
2019-07-02blk-mq: remove blk_mq_put_ctx()Bart Van Assche1-6/+1
2019-05-04blk-mq: free hw queue's resource in hctx's release handlerMing Lei1-1/+1
2019-04-05block: Revert v5.0 blk_mq_request_issue_directly() changesBart Van Assche1-4/+2
2019-03-24blk-mq: use blk_mq_put_driver_tag() to put tagYufen Yu1-9/+0
2019-03-20block: Unexport blk_mq_add_to_requeue_list()Bart Van Assche1-0/+2
2019-02-15Merge tag 'v5.0-rc6' into for-5.1/blockJens Axboe1-1/+0
2019-02-08blk-mq: remove duplicated definition of blk_mq_freeze_queueLiu Bo1-1/+0
2019-02-01blk-mq: save default hctx into ctx->hctxs for not-supported typeJianchao Wang1-8/+5
2019-02-01blk-mq: save queue mapping result into ctx directlyJianchao Wang1-3/+4
2018-12-17blk-mq: fix dispatch from sw queueMing Lei1-2/+2
2018-12-17blk-mq: only dispatch to non-defauly queue maps if they have queuesChristoph Hellwig1-5/+8
2018-12-16blk-mq: replace and kill blk_mq_request_issue_directlyJianchao Wang1-2/+4
2018-12-10block: return just one value from part_in_flightMikulas Patocka1-2/+1
2018-12-04block: move queues types to the block layerChristoph Hellwig1-9/+12
2018-11-29blk-mq: use bd->last == true for list insertsJens Axboe1-1/+1
2018-11-21blk-mq: not embed .mq_kobj and ctx->kobj into queue instanceMing Lei1-0/+6
2018-11-07blk-mq: cache request hardware queue mappingJens Axboe1-4/+1
2018-11-07blk-mq: support multiple hctx mapsJens Axboe1-8/+25
2018-11-07blk-mq: allow software queue to map to multiple hardware queuesJens Axboe1-1/+1
2018-11-07blk-mq: pass in request/bio flags to queue mappingJens Axboe1-2/+4
2018-11-07blk-mq: provide dummy blk_mq_map_queue_type() helperJens Axboe1-1/+8
2018-11-07blk-mq: abstract out queue mapJens Axboe1-4/+4
2018-11-07blk-mq: kill q->mq_mapJens Axboe1-1/+3
2018-07-17blk-mq: issue directly if hw queue isn't busy in case of 'none'Ming Lei1-0/+2
2018-07-09blk-mq: code clean-up by adding an API to clear set->mq_mapMinwoo Im1-0/+8
2018-07-09blk-mq: cleanup blk_mq_get_driver_tag()Ming Lei1-2/+1
2018-05-29blk-mq: Remove generation seqeunceKeith Busch1-40/+2
2018-04-26blk-mq: fix sysfs inflight counterOmar Sandoval1-1/+3
2018-04-25block: mq: Add some minor doc for core structsLinus Walleij1-0/+3
2018-01-19blk-mq: Rename blk_mq_request_direct_issue() into blk_mq_request_issue_direct...Bart Van Assche1-1/+1
2018-01-17blk-mq: improve DM's blk-mq IO merging via blk_insert_cloned_request feedbackMing Lei1-0/+3
2018-01-09blk-mq: remove REQ_ATOM_STARTEDTejun Heo1-0/+1
2018-01-09blk-mq: make blk_abort_request() trigger timeout pathTejun Heo1-2/+0
2018-01-09blk-mq: replace timeout synchronization with a RCU and generation based schemeTejun Heo1-0/+46
2017-11-14Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-5/+55
2017-11-10blk-mq: only run the hardware queue if IO is pendingJens Axboe1-2/+0
2017-11-10block, nvme: Introduce blk_mq_req_flags_tBart Van Assche1-1/+1
2017-11-04blk-mq: move blk_mq_put_driver_tag*() into blk-mq.hMing Lei1-0/+33
2017-11-04block: pass 'run_queue' to blk_mq_request_bypass_insertMing Lei1-1/+1
2017-11-04blk-mq: don't handle failure in .get_budgetMing Lei1-3/+2
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-11-01blk-mq-sched: improve dispatching from sw queueMing Lei1-0/+2
2017-11-01blk-mq: introduce .get_budget and .put_budget in blk_mq_opsMing Lei1-1/+19
2017-09-11block: directly insert blk-mq request from blk_insert_cloned_request()Jens Axboe1-0/+1
2017-08-09blk-mq: provide internal in-flight variantJens Axboe1-0/+3
2017-07-03Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-5/+0
2017-06-28blk-mq: Create hctx for each present CPUChristoph Hellwig1-5/+0
2017-06-18blk-mq: remove __blk_mq_alloc_requestChristoph Hellwig1-6/+0
2017-06-18blk-mq: simplify blk_mq_free_requestChristoph Hellwig1-3/+0
2017-06-18blk-mq: mark blk_mq_rq_ctx_init staticChristoph Hellwig1-2/+0
2017-05-04blk-mq: move debugfs declarations to a separate header fileOmar Sandoval1-28/+0
2017-04-26blk-mq-debugfs: Rename functions for registering and unregistering the mq dir...Bart Van Assche1-4/+4
2017-04-26blk-mq: Let blk_mq_debugfs_register() look up the queue nameBart Van Assche1-3/+2
2017-04-26blk-mq: Register <dev>/queue/mq after having registered <dev>/queueBart Van Assche1-0/+1
2017-04-14blk-mq: add shallow depth option for blk_mq_get_tag()Omar Sandoval1-0/+1
2017-04-07Merge branch 'for-linus' into for-4.12/blockJens Axboe1-1/+1
2017-04-07blk-mq: use the right hctx when getting a driver tag failsOmar Sandoval1-1/+1
2017-03-21blk-stat: convert to callback-based statistics reportingOmar Sandoval1-1/+0
2017-03-08blk-mq: make lifetime consitent between q/ctx and its kobjectMing Lei1-0/+1
2017-03-08blk-mq: initialize mq kobjects in blk_mq_init_allocated_queue()Ming Lei1-0/+1
2017-03-02blk-mq: kill blk_mq_set_alloc_data()Omar Sandoval1-10/+0
2017-02-02block: use same block debugfs directory for blk-mq and blktraceOmar Sandoval1-5/+0
2017-01-27blk-mq: fix debugfs compilation issuesOmar Sandoval1-5/+6
2017-01-27blk-mq-sched: add flush insertion into blk_mq_sched_insert_request()Jens Axboe1-0/+2
2017-01-27blk-mq-sched: fix starvation for multiple hardware queues and shared tagsJens Axboe1-0/+1
2017-01-27blk-mq: create debugfs directory treeOmar Sandoval1-0/+33
2017-01-17blk-mq-sched: add framework for MQ capable IO schedulersJens Axboe1-1/+7
2017-01-17blk-mq: abstract out helpers for allocating/freeing tag mapsJens Axboe1-5/+9
2017-01-17blk-mq-tag: cleanup the normal/reserved tag allocationJens Axboe1-0/+5
2017-01-17blk-mq: export some helpers we need to the scheduling frameworkJens Axboe1-0/+25
2016-12-14Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-1/+0
2016-12-09blk-mq: abstract out blk_mq_dispatch_rq_list() helperJens Axboe1-0/+1
2016-11-10block: add scalable completion tracking of requestsJens Axboe1-0/+3
2016-11-08blk-mq: export blk_mq_map_queuesChristoph Hellwig1-1/+0
2016-11-02blk-mq: Introduce blk_mq_hctx_stopped()Bart Van Assche1-0/+5
2016-10-09Merge branch 'for-4.9/block-smp' of git://git.kernel.dk/linux-blockLinus Torvalds1-7/+0
2016-10-09Merge branch 'for-4.9/block-irq' of git://git.kernel.dk/linux-blockLinus Torvalds1-3/+7
2016-09-22blk-mq/cpu-notif: Convert to new hotplug state machineThomas Gleixner1-7/+0
2016-09-17sbitmap: push per-cpu last_tag into sbitmap_queueOmar Sandoval1-2/+0
2016-09-17blk-mq: abstract tag allocation out into sbitmap libraryOmar Sandoval1-9/+0
2016-09-15blk-mq: allow the driver to pass in a queue mappingChristoph Hellwig1-3/+1
2016-09-15blk-mq: remove ->map_queueChristoph Hellwig1-0/+6
2016-02-09blk-mq: dynamic h/w context countKeith Busch1-0/+1
2015-12-01blk-mq: add a flags parameter to blk_mq_alloc_requestChristoph Hellwig1-7/+4
2015-11-11blk-mq: mark __blk_mq_complete_request() staticJens Axboe1-1/+0
2015-10-09blk-mq: remove unused blk_mq_clone_flush_request prototypeChristoph Hellwig1-2/+0
2015-09-29blk-mq: avoid inserting requests before establishing new mappingAkinobu Mita1-1/+2
2015-01-29blk-mq: release mq's kobjects in blk_release_queue()Ming Lei1-0/+2
2014-12-31block: wake up waiters when a queue is marked dyingJens Axboe1-0/+1
2014-12-08blk-mq: prevent unmapped hw queue from being scheduledMing Lei1-0/+5
2014-09-25block: introduce blk_init_flush and its pairMing Lei1-1/+0
2014-09-25blk-mq: allocate flush_rq in blk_mq_init_flush()Ming Lei1-1/+1
2014-09-22block: fix blk_abort_request on blk-mqChristoph Hellwig1-0/+2
2014-07-01blk-mq: decouble blk-mq freezing from generic bypassingTejun Heo1-1/+1
2014-06-03blk-mq: fix schedule from atomic contextMing Lei1-0/+23
2014-06-03blk-mq: move blk_mq_get_ctx/blk_mq_put_ctx to mq private headerMing Lei1-0/+22
2014-05-30blk-mq: make the sysfs mq/ layout reflect current mappingsJens Axboe1-0/+6
2014-05-27blk-mq: pass in suggested NUMA node to ->alloc_hctx()Jens Axboe1-0/+1
2014-05-21blk-mq: allow the hctx cpu hotplug notifier to return errorsJens Axboe1-1/+1
2014-05-20blk-mq: allow changing of queue depth through sysfsJens Axboe1-0/+1
2014-05-19blk-mq: move the cache friendly bitmap type of out blk-mq-tagJens Axboe1-0/+9
2014-05-09blk-mq: implement new and more efficient tagging schemeJens Axboe1-1/+3
2014-04-25blk-mq: respect rq_affinityChristoph Hellwig1-1/+0
2014-04-24blk-mq: fix race with timeouts and requeue eventsJens Axboe1-2/+0
2014-04-15blk-mq: split out tag initialization, support shared tagsChristoph Hellwig1-2/+3
2014-04-15blk-mq: make ->flush_rq fully transparent to driversChristoph Hellwig1-0/+2
2014-04-15blk-mq: do not initialize req->specialChristoph Hellwig1-1/+0
2014-03-21blk-mq: merge blk_mq_insert_request and blk_mq_run_requestChristoph Hellwig1-1/+0
2014-03-20blk-mq: don't dump CPU -> hw queue map on driver loadJens Axboe1-0/+2
2014-02-10blk-mq: rework flush sequencing logicChristoph Hellwig1-0/+1
2014-02-10blk-mq: rework I/O completionsChristoph Hellwig1-2/+1
2014-01-08blk-mq: use __smp_call_function_single directlyChristoph Hellwig1-1/+0
2013-12-31block: blk-mq: don't export blk_mq_free_queue()Ming Lei1-0/+1
2013-12-31block: blk-mq: support draining mq queueMing Lei1-0/+1
2013-10-25blk-mq: new multi-queue block IO queueing mechanismJens Axboe1-0/+52