aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blk-mq.h
AgeCommit message (Expand)AuthorFilesLines
2024-04-17block: Remove zone write lockingDamien Le Moal1-83/+0
2024-04-17block: Introduce zone write pluggingDamien Le Moal1-0/+2
2024-03-11Merge tag 'for-6.9/block-20240310' of git://git.kernel.dk/linuxLinus Torvalds1-4/+6
2024-02-13block: pass a queue_limits argument to blk_mq_alloc_diskChristoph Hellwig1-3/+4
2024-02-13block: pass a queue_limits argument to blk_mq_init_queueChristoph Hellwig1-1/+2
2024-02-06block, fs: Restore the per-bio/request data lifetime fieldsBart Van Assche1-0/+2
2024-01-17blk-mq: Remove the hctx 'run' debugfs attributeBart Van Assche1-3/+0
2023-12-22block: skip start/end time stamping for passthrough IOKundan Kumar1-0/+6
2023-09-22blk-mq: remove RQF_MQ_INFLIGHTChengming Zhou1-2/+0
2023-08-29Merge tag 'for-6.6/block-2023-08-28' of git://git.kernel.dk/linuxLinus Torvalds1-5/+1
2023-07-20blk-mq: delete dead struct blk_mq_hw_ctx->queued fieldChengming Zhou1-2/+0
2023-07-17blk-flush: reuse rq queuelist in flush state machineChengming Zhou1-1/+0
2023-07-17blk-mq: use percpu csd to remote complete instead of per-rq csdChengming Zhou1-4/+1
2023-07-10block: remove dead struc request->completion_data fieldJens Axboe1-3/+3
2023-06-28block: add request polling helperKeith Busch1-0/+2
2023-06-25blk-mq: fix two misuses on RQF_USE_SCHEDMing Lei1-1/+5
2023-06-12blk-mq: fix potential io hang by wrong 'wake_batch'Yu Kuai1-2/+1
2023-05-23block: remove redundant req_op in blk_rq_is_passthroughLi Nan1-1/+1
2023-05-19blk-mq: don't use the requeue list to queue flush commandsChristoph Hellwig1-3/+1
2023-05-19blk-mq: use the I/O scheduler for writes from the flush state machineBart Van Assche1-16/+11
2023-05-18block: Introduce blk_rq_is_seq_zoned_write()Bart Van Assche1-0/+17
2023-05-18blk-mq: make sure elevator callbacks aren't called for passthrough requestChristoph Hellwig1-5/+7
2023-05-18blk-mq: remove RQF_ELVPRIVChristoph Hellwig1-2/+0
2023-04-26Merge tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linuxLinus Torvalds1-2/+0
2023-03-20blk-mq: remove hybrid pollingKeith Busch1-2/+0
2023-03-14block: do not reverse request order when flushing plug listJan Kara1-0/+6
2023-02-17blk-mq: Reorder fields in 'struct blk_mq_tag_set'Christophe JAILLET1-2/+2
2022-12-13Merge tag 'for-6.2/block-2022-12-08' of git://git.kernel.dk/linuxLinus Torvalds1-2/+7
2022-11-02blk-mq: add tagset quiesce interfaceChao Leng1-0/+2
2022-11-02blk-mq: pass a tagset to blk_mq_wait_quiesce_doneChristoph Hellwig1-1/+1
2022-11-02blk-mq: move the srcu_struct used for quiescing to the tagsetChristoph Hellwig1-0/+4
2022-10-27blk-mq: don't add non-pt request with ->end_io to batchMing Lei1-1/+2
2022-10-25block: Remove request.write_hintBart Van Assche1-1/+0
2022-09-30block: add blk_rq_map_user_ioAnuj Gupta1-0/+2
2022-09-30block: allow end_io based requests in the completion batch handlingJens Axboe1-1/+2
2022-09-30block: change request end_io handler to pass back a return valueJens Axboe1-1/+6
2022-09-30Merge branch 'for-6.1/io_uring' into for-6.1/passthroughJens Axboe1-0/+1
2022-09-21block: export blk_rq_is_pollKanchan Joshi1-0/+1
2022-09-21block: Fix the enum blk_eh_timer_return documentationBart Van Assche1-2/+9
2022-08-22block: shrink rq_map_data a bitJens Axboe1-4/+4
2022-08-22block: Change the return type of blk_mq_map_queues() into voidBart Van Assche1-2/+2
2022-08-18blk-mq: remove unused function blk_mq_queue_stopped()Yu Kuai1-1/+0
2022-07-14block: Use the new blk_opf_t typeBart Van Assche1-3/+3
2022-07-14block: Change the type of req_op() and bio_op() into enum req_opBart Van Assche1-2/+4
2022-07-06block: move zone related fields to struct gendiskChristoph Hellwig1-4/+4
2022-07-06blk-mq: Drop 'reserved' arg of busy_tag_iter_fnJohn Garry1-1/+1
2022-07-06blk-mq: Drop blk_mq_ops.timeout 'reserved' argJohn Garry1-1/+1
2022-07-06blk-mq: Add a flag for reserved requestsJohn Garry1-0/+6
2022-06-28blk-mq: cleanup disk sysfs registrationChristoph Hellwig1-1/+0
2022-06-28block: simplify disk shutdownChristoph Hellwig1-0/+3
2022-05-28blk-mq: remove the done argument to blk_execute_rq_nowaitChristoph Hellwig1-2/+1
2022-05-08blk-mq: remove the error_count from struct requestWilly Tarreau1-1/+0
2022-03-08blk-mq: manage hctx map via xarrayMing Lei1-2/+1
2022-02-16blk-mq: remove the request_queue argument to blk_insert_cloned_requestChristoph Hellwig1-2/+1
2022-01-09block: fix old-style declarationYang Li1-1/+1
2022-01-05block: introduce rq_list_moveKeith Busch1-0/+17
2022-01-05block: introduce rq_list_for_each_safe macroKeith Busch1-0/+4
2022-01-05block: move rq_list macros to blk-mq.hKeith Busch1-0/+29
2021-12-16block: add mq_ops->queue_rqs hookJens Axboe1-0/+8
2021-12-06blk-mq: Delete busy_iter_fnJohn Garry1-1/+0
2021-12-06blk-mq: Drop busy_iter_fn blk_mq_hw_ctx argumentJohn Garry1-2/+1
2021-12-03blk-mq: move srcu from blk_mq_hw_ctx to request_queueMing Lei1-8/+0
2021-12-03block: switch to atomic_t for request referencesJens Axboe1-1/+1
2021-11-29block: remove the gendisk argument to blk_execute_rqChristoph Hellwig1-4/+3
2021-11-29block: remove the ->rq_disk field in struct requestChristoph Hellwig1-4/+0
2021-11-29blk-mq: Add blk_mq_complete_request_direct()Sebastian Andrzej Siewior1-0/+11
2021-11-29block: remove rq_flush_dcache_pagesChristoph Hellwig1-10/+0
2021-11-29block: move blk_rq_err_bytes to scsiChristoph Hellwig1-3/+0
2021-11-09Merge tag 'for-5.16/block-2021-11-09' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+1
2021-11-09blk-mq: add one API for waiting until quiesce is doneMing Lei1-0/+1
2021-10-29block: remove blk_{get,put}_requestChristoph Hellwig1-3/+0
2021-10-22block: remove the initialize_rq_fn blk_mq_ops methodChristoph Hellwig1-5/+0
2021-10-21blk-crypto: rename blk_keyslot_manager to blk_crypto_profileEric Biggers1-1/+1
2021-10-20blk-mq: move blk_mq_flush_plug_list to block/blk-mq.hChristoph Hellwig1-2/+0
2021-10-19block: move blk_mq_tag_to_rq() inlineJens Axboe1-1/+35
2021-10-18block: add support for blk_mq_end_request_batch()Jens Axboe1-0/+29
2021-10-18block: add a struct io_comp_batch argument to fops->iopoll()Jens Axboe1-1/+1
2021-10-18block: remove some blk_mq_hw_ctx debugfs entriesJens Axboe1-10/+0
2021-10-18block: store elevator state in requestJens Axboe1-0/+2
2021-10-18block: improve layout of struct requestJens Axboe1-44/+46
2021-10-18block: switch polling to be bio basedChristoph Hellwig1-13/+2
2021-10-18block: fold bio_cur_bytes into blk_rq_cur_bytesChristoph Hellwig1-1/+5
2021-10-18block: pre-allocate requests if plug is started and is a batchJens Axboe1-1/+4
2021-10-18blk-mq: Change shared sbitmap naming to shared tagsJohn Garry1-4/+4
2021-10-18blk-mq: Use shared tags for shared sbitmap supportJohn Garry1-8/+7
2021-10-18block: Rename BLKDEV_MAX_RQ -> BLKDEV_DEFAULT_RQJohn Garry1-1/+1
2021-10-18block: move struct request to blk-mq.hChristoph Hellwig1-0/+465
2021-08-23block: cleanup the lockdep handling in *alloc_diskChristoph Hellwig1-7/+3
2021-08-05blk-mq: Introduce the BLK_MQ_F_NO_SCHED_BY_DEFAULT flagBart Van Assche1-0/+6
2021-06-30block: mark blk_mq_init_queue_data staticChristoph Hellwig1-2/+0
2021-06-18blk-mq: fix an IS_ERR() vs NULL bugDan Carpenter1-1/+1
2021-06-11blk-mq: remove blk_mq_init_sq_queueChristoph Hellwig1-4/+0
2021-06-11blk-mq: add the blk_mq_alloc_disk APIsChristoph Hellwig1-0/+12
2021-06-11blk-mq: improve the blk_mq_init_allocated_queue interfaceChristoph Hellwig1-3/+2
2021-06-11blk-mq: factor out a blk_mq_alloc_sq_tag_set helperChristoph Hellwig1-0/+3
2021-04-21scsi: blk-mq: Fix build warning when making htmldocsMing Lei1-4/+4
2021-03-04scsi: blk-mq: Return budget token from .get_budget callbackMing Lei1-2/+2
2021-03-04scsi: blk-mq: Add callbacks for storing & retrieving budget tokenMing Lei1-0/+9
2021-02-10blk-mq: introduce blk_mq_set_request_completeChao Leng1-0/+12
2021-01-24Revert "blk-mq, elevator: Count requests per hctx to improve performance"Jan Kara1-4/+0
2021-01-24block: store a block_device pointer in struct bioChristoph Hellwig1-2/+2
2021-01-01Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/...Linus Torvalds1-2/+2
2020-12-16Merge tag 'for-5.11/drivers-2020-12-14' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+12
2020-12-09scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPTBart Van Assche1-2/+0
2020-12-09scsi: block: Introduce BLK_MQ_REQ_PMBart Van Assche1-0/+2
2020-12-07blk-mq: add new API of blk_mq_hctx_set_fq_lock_classMing Lei1-0/+3
2020-12-01block: move blk_rq_bio_prep() to linux/blk-mq.hChaitanya Kulkarni1-0/+12
2020-10-28blk-mq: docs: add kernel-doc description for a new struct memberMauro Carvalho Chehab1-0/+2
2020-09-03blk-mq, elevator: Count requests per hctx to improve performanceKashyap Desai1-0/+4
2020-09-03blk-mq: Record active_queues_shared_sbitmap per tag_set for when using shared...John Garry1-0/+1
2020-09-03blk-mq: Facilitate a shared sbitmap per tagsetJohn Garry1-0/+6
2020-09-03blk-mq: Rename BLK_MQ_F_TAG_SHARED as BLK_MQ_F_TAG_QUEUE_SHAREDMing Lei1-1/+1
2020-09-01block: Move blk_mq_bio_list_merge() into blk-merge.cBaolin Wang1-2/+0
2020-07-28block: Remove callback typedefs for blk_mq_opsDaniel Wagner1-32/+18
2020-07-01block: move ->make_request_fn to struct block_device_operationsChristoph Hellwig1-1/+1
2020-06-30blk-mq: pass request queue into get/put budget callbackMing Lei1-2/+2
2020-06-29blk-mq: remove the BLK_MQ_REQ_INTERNAL flagChristoph Hellwig1-2/+0
2020-06-24blk-mq: add a new blk_mq_complete_request_remote APIChristoph Hellwig1-0/+1
2020-06-24blk-mq: move failure injection out of blk_mq_complete_requestChristoph Hellwig1-2/+10
2020-05-29blk-mq: drain I/O when all CPUs in a hctx are offlineMing Lei1-0/+10
2020-05-29blk-mq: blk-mq: provide forced completion methodKeith Busch1-0/+1
2020-04-25block: bypass ->make_request_fn for blk-mq driversChristoph Hellwig1-0/+2
2020-04-20blk-mq: Add blk_mq_delay_run_hw_queues() API callDouglas Anderson1-0/+1
2020-04-18blk-mq: Replace zero-length array with flexible-array memberGustavo A. R. Silva1-1/+1
2020-03-27block: add a blk_mq_init_queue_data helperChristoph Hellwig1-0/+2
2020-03-10blk-mq: Fix a comment in include/linux/blk-mq.hBart Van Assche1-1/+4
2019-11-13blk-mq: Delete blk_mq_has_free_tags() and blk_mq_can_queue()John Garry1-1/+0
2019-11-01blk-mq: Make blk_mq_run_hw_queue() return voidJohn Garry1-1/+1
2019-10-25blk-mq: fill header with kernel-docAndré Almeida1-40/+185
2019-10-07blk-mq: Inline status checkersPavel Begunkov1-2/+18
2019-10-07block: Document all members of blk_mq_tag_set and bkl_mq_queue_mapBart Van Assche1-11/+43
2019-09-05block: Delay default elevator initializationDamien Le Moal1-1/+2
2019-08-27block: Remove blk_mq_register_dev()Bart Van Assche1-1/+0
2019-08-04blk-mq: add callback of .cleanup_rqMing Lei1-0/+13
2019-08-04blk-mq: remove blk_mq_complete_request_syncMing Lei1-1/+0
2019-08-04blk-mq: introduce blk_mq_tagset_wait_completed_request()Ming Lei1-0/+1
2019-08-04blk-mq: introduce blk_mq_request_completed()Ming Lei1-0/+1
2019-06-20block: remove the bi_phys_segments field in struct bioChristoph Hellwig1-1/+1
2019-05-04blk-mq: always free hctx after request queue is freedMing Lei1-0/+2
2019-04-10blk-mq: introduce blk_mq_complete_request_sync()Ming Lei1-0/+1
2019-03-20block: Unexport blk_mq_add_to_requeue_list()Bart Van Assche1-2/+0
2019-03-19blk-mq: remove unused 'nr_expired' from blk_mq_hw_ctxDongli Zhang1-1/+0
2019-02-15block: kill BLK_MQ_F_SG_MERGEMing Lei1-1/+0
2018-12-18block: make request_to_qc_t publicSagi Grimberg1-0/+10
2018-12-17blk-mq: change blk_mq_queue_busy() to blk_mq_queue_inflight()Jens Axboe1-1/+1
2018-12-04block: move queues types to the block layerChristoph Hellwig1-9/+6
2018-11-29blk-mq: add mq_ops->commit_rqs()Jens Axboe1-0/+10
2018-11-26blk-mq: Simplify request completion stateKeith Busch1-14/+0
2018-11-26blk-mq: Return true if request was completedKeith Busch1-1/+1
2018-11-26blk-mq: remove 'tag' parameter from mq_ops->poll()Jens Axboe1-1/+1
2018-11-08blk-mq: provide a helper to check if a queue is busyJens Axboe1-0/+2
2018-11-08blk-mq-tag: change busy_iter_fn to return whether to continue or notJens Axboe1-2/+2
2018-11-07nvme: add separate poll queue mapJens Axboe1-1/+1
2018-11-07blk-mq: initial support for multiple queue mapsJens Axboe1-1/+2
2018-11-07blk-mq: support multiple hctx mapsJens Axboe1-0/+14
2018-11-07blk-mq: allow software queue to map to multiple hardware queuesJens Axboe1-1/+2
2018-11-07blk-mq: abstract out queue mapJens Axboe1-3/+12
2018-11-07block: kill request ->cpu memberJens Axboe1-0/+2
2018-11-07block: get rid of q->softirq_done_fn()Jens Axboe1-1/+2
2018-11-07blk-mq: provide mq_ops->busy() hookJens Axboe1-0/+6
2018-10-15blk-mq: provide helper for setting up an SQ queue and tag setJens Axboe1-0/+4
2018-08-14Merge tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+3
2018-07-24blk-mq: export setting request completion stateKeith Busch1-0/+14
2018-07-09blk-mq: dequeue request one by one from sw queue if hctx is busyMing Lei1-1/+2
2018-07-09blk-mq: introduce new lock for protecting hctx->dispatch_waitMing Lei1-0/+1
2018-06-14blk-mq: remove blk_mq_tagset_iterChristoph Hellwig1-2/+0
2018-05-30blk-mq: abstract out blk-mq-sched rq list iteration bio merge helperJens Axboe1-1/+2
2018-04-25block: mq: Add some minor doc for core structsLinus Walleij1-0/+3
2018-04-10blk-mq: remove blk_mq_delay_queue()Ming Lei1-2/+0
2018-01-09blk-mq: rename blk_mq_hw_ctx->queue_rq_srcu to ->srcuTejun Heo1-1/+1
2018-01-09blk-mq: replace timeout synchronization with a RCU and generation based schemeTejun Heo1-0/+1
2017-11-14Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-11/+29
2017-11-10blk-mq: only run the hardware queue if IO is pendingJens Axboe1-1/+1
2017-11-10block, nvme: Introduce blk_mq_req_flags_tBart Van Assche1-6/+11
2017-11-10block: Introduce BLK_MQ_REQ_PREEMPTBart Van Assche1-0/+1
2017-11-10blk-mq: fix issue with shared tag queue re-runningJens Axboe1-3/+2
2017-11-04blk-mq: don't handle failure in .get_budgetMing Lei1-1/+1
2017-11-03Merge branch 'nvme-4.15' of git://git.infradead.org/nvme into for-4.15/blockJens Axboe1-2/+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-0/+11
2017-10-18block: remove blk_mq_reinit_tagsetSagi Grimberg1-2/+0
2017-10-18block: introduce blk_mq_tagset_iterSagi Grimberg1-0/+2
2017-08-18blk-mq: Make blk_mq_reinit_tagset() calls easier to readBart Van Assche1-3/+2
2017-07-03Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-1/+1
2017-06-21blk-mq: Make it safe to quiesce and unquiesce from an interrupt handlerBart Van Assche1-9/+1
2017-06-20block: Introduce request_queue.initialize_rq_fn()Bart Van Assche1-0/+2
2017-06-20block: Make request operation type argument declarations consistentBart Van Assche1-3/+3
2017-06-20blk-mq: Reduce blk_mq_hw_ctx sizeBart Van Assche1-2/+3
2017-06-20sched/wait: Rename wait_queue_t => wait_queue_entry_tIngo Molnar1-1/+1
2017-06-18blk-mq: don't stop queue for quiescingMing Lei1-2/+0
2017-06-18blk-mq: use QUEUE_FLAG_QUIESCED to quiesce queueMing Lei1-0/+4
2017-06-18blk-mq: introduce blk_mq_unquiesce_queueMing Lei1-0/+1
2017-06-18blk-mq: introduce blk_mq_quiesce_queue_nowait()Ming Lei1-0/+8
2017-06-18blk-mq: move blk_mq_quiesce_queue() into include/linux/blk-mq.hMing Lei1-0/+1
2017-06-09blk-mq: switch ->queue_rq return value to blk_status_tChristoph Hellwig1-5/+2
2017-06-09block: introduce new block status code typeChristoph Hellwig1-2/+2
2017-05-22blk-mq: remove blk_mq_abort_requeue_list()Ming Lei1-1/+0
2017-05-04blk-mq-debugfs: allow schedulers to register debugfs attributesOmar Sandoval1-0/+1
2017-05-04blk-mq: untangle debugfs and sysfsOmar Sandoval1-0/+4