aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-mq.c
AgeCommit message (Expand)AuthorFilesLines
2026-06-16Merge tag 'for-7.2/block-20260615' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-38/+5
2026-06-09block: propagate in_flight to whole disk on partition I/OTang Yizhou1-3/+2
2026-05-28block: export passthrough stats enabledKeith Busch1-31/+1
2026-05-28block: add a bio_endio_status helperChristoph Hellwig1-4/+2
2026-05-26blk-mq: reinsert cached request to the listKeith Busch1-1/+1
2026-05-21blk-mq: pop cached request if it is usableKeith Busch1-25/+9
2026-05-12block: recompute nr_integrity_segments in blk_insert_cloned_requestCasey Chen1-0/+19
2026-03-10block: clear BIO_QOS flags in blk_steal_bios()Chaitanya Kulkarni1-0/+2
2026-03-10block: move bio queue-transition flag fixups into blk_steal_bios()Chaitanya Kulkarni1-0/+17
2026-03-09Merge branch 'for-7.1/block-integrity' into for-7.1/blockJens Axboe1-2/+4
2026-03-09block: factor out a bio_integrity_action helperChristoph Hellwig1-2/+4
2026-03-06Merge tag 'block-7.0-20260305' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-15/+30
2026-03-02block: break pcpu_alloc_mutex dependency on freeze_lockNilay Shroff1-15/+30
2026-02-21Convert 'alloc_obj' family to use the new default GFP_KERNEL argumentLinus Torvalds1-2/+2
2026-02-21treewide: Replace kmalloc with kmalloc_obj for non-scalar typesKees Cook1-2/+2
2026-02-12Merge tag 'mm-stable-2026-02-11-19-22' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-3/+0
2026-02-09Merge tag 'kthread-for-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+5
2026-02-09Merge tag 'for-7.0/block-20260206' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-29/+48
2026-02-03blk-mq: add a new queue sysfs attribute async_depthYu Kuai1-0/+6
2026-02-03blk-mq: factor out a helper blk_mq_limit_depth()Yu Kuai1-25/+37
2026-02-03block: Protect against concurrent isolated cpuset changeFrederic Weisbecker1-1/+5
2026-01-22blk-mq: use BLK_POLL_ONESHOT for synchronous poll completionMing Lei1-1/+1
2026-01-20mm/block/fs: remove laptop_modeJohannes Weiner1-3/+0
2026-01-20block: pass io_comp_batch to rq_end_io_fn callbackMing Lei1-4/+5
2026-01-07blk-mq: avoid stall during boot due to synchronize_rcu_expeditedMikulas Patocka1-2/+1
2025-12-30blk-mq: skip CPU offline notify on unmapped hctxCong Zhang1-1/+1
2025-12-10blk-mq: delete task running check in blk_hctx_poll()Fengnan Chang1-10/+2
2025-12-09block: Use RCU in blk_mq_[un]quiesce_tagset() instead of set->tag_list_lockMohamed Khalfella1-9/+8
2025-12-04blk-mq: Abort suspend when wakeup events are pendingCong Zhang1-2/+16
2025-11-28blk-mq: fix potential uaf for 'queue_hw_ctx'Fengnan Chang1-1/+6
2025-11-28blk-mq: use array manage hctx map instead of xarrayFengnan Chang1-21/+37
2025-11-18block: plug attempts to batch allocate tags multiple timesXue He1-14/+19
2025-11-13block: move elevator tags into struct elevator_resourcesNilay Shroff1-1/+1
2025-11-13block: unify elevator tags and type xarrays into struct elv_change_ctxNilay Shroff1-21/+29
2025-11-06block: accumulate memory segment gaps per bioKeith Busch1-0/+6
2025-10-15blk-mq: fix stale tag depth for shared sched tags in blk_mq_update_nr_requests()Yu Kuai1-1/+1
2025-09-23blk-mq: fix null-ptr-deref in blk_mq_free_tags() from error pathYu Kuai1-2/+0
2025-09-10blk-mq: fix potential deadlock while nr_requests grownYu Kuai1-13/+9
2025-09-10blk-mq: split bitmap grow and resize case in blk_mq_update_nr_requests()Yu Kuai1-12/+27
2025-09-10blk-mq: cleanup shared tags case in blk_mq_update_nr_requests()Yu Kuai1-21/+22
2025-09-10blk-mq: check invalid nr_requests in queue_requests_store()Yu Kuai1-6/+2
2025-09-10blk-mq: remove useless checkings in blk_mq_update_nr_requests()Yu Kuai1-8/+1
2025-09-10blk-mq: add QUEUE_FLAG_BIO_ISSUE_TIMEYu Kuai1-3/+5
2025-09-10block: initialize bio issue time in blk_mq_submit_bio()Yu Kuai1-0/+8
2025-09-08blk-mq: Replace tags->lock with SRCU for tag iteratorsMing Lei1-20/+4
2025-09-08blk-mq: Defer freeing flush queue to SRCU callbackMing Lei1-1/+10
2025-09-08blk-mq: Defer freeing of tags page_list to SRCU callbackMing Lei1-13/+13
2025-09-08blk-mq: Pass tag_set to blk_mq_free_rq_map/tagsMing Lei1-5/+5
2025-09-08blk-mq: Move flush queue allocation into blk_mq_init_hctx()Ming Lei1-7/+13
2025-09-05blk-mq: fix elevator depth_updated methodYu Kuai1-11/+12
2025-08-21blk-mq: fix lockdep warning in __blk_mq_update_nr_hw_queuesMing Lei1-4/+9
2025-07-30block: fix potential deadlock while running nr_hw_queue updateNilay Shroff1-5/+11
2025-07-25block: restore two stage elevator switch while running nr_hw_queue updateNilay Shroff1-9/+75
2025-07-15block: split blk_zone_update_request_bio into two functionsJohannes Thumshirn1-2/+4
2025-06-30block: Introduce bio_needs_zone_write_plugging()Damien Le Moal1-2/+4
2025-05-13Merge tag 'md-6.16-20250513' of https://git.kernel.org/pub/scm/linux/kernel/g...Jens Axboe1-16/+6
2025-05-12block: unfreeze queue if realloc tag set fails during nr_hw_queues updateNilay Shroff1-1/+4
2025-05-10block: clean up blk_mq_in_flight_rw()Yu Kuai1-6/+6
2025-05-10blk-mq: remove blk_mq_in_flight()Yu Kuai1-10/+0
2025-05-06block: move hctx cpuhp add/del out of queue freezingMing Lei1-1/+4
2025-05-06block: don't acquire ->elevator_lock in blk_mq_map_swqueue and blk_mq_realloc...Ming Lei1-15/+4
2025-05-06block: move hctx debugfs/sysfs registering out of freezing queueMing Lei1-8/+7
2025-05-06block: move elv_register[unregister]_queue out of elevator_lockMing Lei1-2/+1
2025-05-06block: simplify elevator reattachment for updating nr_hw_queuesMing Lei1-89/+1
2025-05-06block: look up the elevator type in elevator_switchChristoph Hellwig1-1/+1
2025-05-06block: prevent adding/deleting disk during updating nr_hw_queuesMing Lei1-0/+4
2025-05-06block: move blk_mq_add_queue_tag_set() after blk_mq_map_swqueue()Ming Lei1-1/+1
2025-05-05block: remove bounce buffering supportChristoph Hellwig1-2/+0
2025-05-02block: avoid hctx spinlock for plug with multiple queuesCaleb Sander Mateos1-1/+48
2025-05-02block: factor out blk_mq_dispatch_queue_requests() helperCaleb Sander Mateos1-21/+22
2025-05-02block: take rq_list instead of plug in dispatch functionsCaleb Sander Mateos1-14/+12
2025-04-21block: ensure that struct blk_mq_alloc_data is fully initializedJens Axboe1-1/+21
2025-04-21block: Simplify blk_mq_dispatch_rq_list() and its callersBart Van Assche1-9/+7
2025-04-03block: don't grab elevator lock during queue initializationMing Lei1-7/+17
2025-04-01block: remove unused nseg parameterNitesh Shetty1-3/+2
2025-03-12block: remove unused parameterGuixin Liu1-1/+1
2025-03-10block: make sure ->nr_integrity_segments is cloned in blk_rq_prep_cloneMing Lei1-0/+1
2025-03-10block: protect hctx attributes/params using q->elevator_lockNilay Shroff1-0/+4
2025-03-10block: introduce a dedicated lock for protecting queue elevator updatesNilay Shroff1-8/+7
2025-01-31block: force noio scope in blk_mq_freeze_queueChristoph Hellwig1-8/+13
2025-01-14blk-mq: Move more error handling into blk_mq_submit_bio()Bart Van Assche1-7/+7
2025-01-14block: Reorder the request allocation code in blk_mq_submit_bio()Bart Van Assche1-3/+3
2025-01-10block: don't update BLK_FEAT_POLL in __blk_mq_update_nr_hw_queuesChristoph Hellwig1-21/+5
2025-01-10block: check BLK_FEAT_POLL under q_usage_countChristoph Hellwig1-2/+10
2025-01-06block: simplify tag allocation policy selectionChristoph Hellwig1-2/+1
2025-01-04block: remove blk_rq_bio_prepChristoph Hellwig1-1/+3
2024-12-23block: track queue dying state automatically for modeling queue freeze lockdepMing Lei1-2/+3
2024-12-23block: track disk DEAD state automatically for modeling queue freeze lockdepMing Lei1-2/+5
2024-12-23block: remove unnecessary check in blk_unfreeze_check_owner()Ming Lei1-2/+0
2024-12-18block: avoid to reuse `hctx` not removed from cpuhp callback listMing Lei1-1/+10
2024-12-18block: Revert "block: Fix potential deadlock while freezing queue and acquiri...Ming Lei1-18/+11
2024-12-13block: Fix potential deadlock while freezing queue and acquiring sysfs_lockNilay Shroff1-11/+18
2024-12-13blk-mq: Clean up blk_mq_requeue_work()Bart Van Assche1-6/+4
2024-12-06blk-mq: move cpuhp callback registering out of q->sysfs_lockMing Lei1-11/+92
2024-12-06blk-mq: register cpuhp callback after hctx is added to xarray tableMing Lei1-8/+7
2024-11-25block: Remove extra part pointer NULLify in blk_rq_init()John Garry1-1/+0
2024-11-19block: blk-mq: fix uninit-value in blk_rq_prep_clone and refactorSuraj Sonawane1-7/+6
2024-11-13block: don't reorder requests in blk_add_rq_to_plugChristoph Hellwig1-2/+2
2024-11-13block: add a rq_list typeChristoph Hellwig1-21/+19
2024-11-12block: remove the ioprio field from struct requestChristoph Hellwig1-2/+1
2024-11-12block: remove the write_hint field from struct requestChristoph Hellwig1-2/+0
2024-11-07block: always verify unfreeze lock on the owner taskMing Lei1-8/+54
2024-11-07block: remove blk_freeze_queue()Ming Lei1-21/+1
2024-10-26block: model freeze & enter queue as lock for supporting lockdepMing Lei1-4/+22
2024-10-26blk-mq: add non_owner variant of start_freeze/unfreeze queue APIsMing Lei1-0/+20
2024-10-23blk-mq: Unexport blk_mq_flush_busy_ctxs()Bart Van Assche1-1/+0
2024-10-22blk-mq: Make blk_mq_quiesce_tagset() hold the tag list mutex less longBart Van Assche1-1/+2
2024-10-22block: fix ordering between checking BLK_MQ_S_STOPPED request addingMuchun Song1-0/+6
2024-10-22block: fix ordering between checking QUEUE_FLAG_QUIESCED request addingMuchun Song1-13/+34
2024-10-22block: fix missing dispatching request when queue is started or unquiescedMuchun Song1-0/+2
2024-10-22block: enable passthrough command statisticsKeith Busch1-1/+31
2024-10-22block: move issue side time stamping to blk_account_io_start()Jens Axboe1-8/+4
2024-10-22block: set issue time stamp based on queue stateJens Axboe1-1/+1
2024-10-22block: kill blk_do_io_stat() helperJens Axboe1-3/+3
2024-10-22block: remove 'req->part' check for stats accountingJens Axboe1-4/+3
2024-10-22block: move iostat check into blk_acount_io_start()Jens Axboe1-19/+21
2024-10-14blk-mq: setup queue ->tag_set before initializing hctxMing Lei1-2/+6
2024-09-25Merge tag 'for-6.12/block-20240925' of git://git.kernel.dk/linuxLinus Torvalds1-2/+3
2024-09-17Merge tag 'irq-core-2024-09-16' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-1/+1
2024-09-13blk-mq: set the nr_integrity_segments from bioKeith Busch1-0/+3
2024-09-13blk-mq: unconditional nr_integrity_segmentsKeith Busch1-2/+0
2024-09-07blk-mq: add missing unplug trace eventKeith Busch1-0/+3
2024-08-29block: rework bio splittingChristoph Hellwig1-6/+5
2024-08-20softirq: Remove unused 'action' parameter from action callbackCaleb Sander Mateos1-1/+1
2024-07-02block: Call .limit_depth() after .hctx has been setBart Van Assche1-6/+6
2024-06-28block: check bio alignment in blk_mq_submit_bioMing Lei1-0/+20
2024-06-20block: Pass blk_queue_get_max_sectors() a request pointerJohn Garry1-1/+1
2024-06-19block: move the poll flag to queue_limitsChristoph Hellwig1-13/+18
2024-06-19block: move the nowait flag to queue_limitsChristoph Hellwig1-1/+1
2024-06-19block: move the io_stat flag setting to queue_limitsChristoph Hellwig1-1/+5
2024-06-19block: freeze the queue in queue_attr_storeChristoph Hellwig1-2/+3
2024-06-14block: remove the blk_integrity_profile structureChristoph Hellwig1-9/+4
2024-05-23Merge tag 'block-6.10-20240523' of git://git.kernel.dk/linuxLinus Torvalds1-2/+18
2024-05-21Merge tag 'pull-bd_flags-2' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+1
2024-05-17blk-mq: add helper for checking if one CPU is mapped to specified hctxMing Lei1-2/+18
2024-05-09block: support to account io_ticks preciselyYu Kuai1-0/+4
2024-05-02Use bdev_is_paritition() instead of open-coding itAl Viro1-1/+1
2024-05-01block: Improve zone write request completion handlingDamien Le Moal1-4/+2
2024-05-01block: Fix handling of non-empty flush write requests to zonesDamien Le Moal1-3/+3
2024-04-17block: Do not special-case plugging of zone write operationsDamien Le Moal1-6/+1
2024-04-17block: Remove BLK_STS_ZONE_RESOURCEDamien Le Moal1-26/+0
2024-04-17block: Implement zone append emulationDamien Le Moal1-2/+1
2024-04-17block: Introduce zone write pluggingDamien Le Moal1-3/+29
2024-04-17block: Introduce blk_zone_update_request_bio()Damien Le Moal1-6/+5
2024-04-17block: Remove req_bio_endio()Damien Le Moal1-30/+28
2024-04-01blk-mq: don't schedule block kworker on isolated CPUsMing Lei1-10/+47
2024-03-28block: Do not force full zone append completion in req_bio_endio()Damien Le Moal1-7/+2
2024-03-11Merge tag 'for-6.9/block-20240310' of git://git.kernel.dk/linuxLinus Torvalds1-98/+88
2024-03-11Merge tag 'vfs-6.9.iomap' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-0/+2
2024-02-28blk-mq: don't change nr_hw_queues and nr_maps for kdump kernelMing Lei1-8/+6
2024-02-24block/blk-mq: Don't complete locally if capacities are differentQais Yousef1-2/+3
2024-02-24block: io wait hang check helperKeith Busch1-16/+3
2024-02-13block: pass a queue_limits argument to blk_mq_alloc_diskChristoph Hellwig1-2/+3
2024-02-13block: pass a queue_limits argument to blk_mq_init_queueChristoph Hellwig1-13/+8
2024-02-13block: pass a queue_limits argument to blk_alloc_queueChristoph Hellwig1-3/+4
2024-02-06block, fs: Restore the per-bio/request data lifetime fieldsBart Van Assche1-0/+2
2024-02-05block: add blk_time_get_ns() and blk_time_get() helpersJens Axboe1-8/+8
2024-02-05blk-mq: special case cached requests lessChristoph Hellwig1-19/+22
2024-02-05blk-mq: introduce a blk_mq_peek_cached_request helperChristoph Hellwig1-30/+33
2024-02-05blk-mq: move blk_mq_attempt_bio_merge out blk_mq_get_new_requestsChristoph Hellwig1-10/+11
2024-02-01block: Fix where bio IO priority gets setHongyu Jin1-10/+0
2024-01-18Merge tag 'for-6.8/block-2024-01-18' of git://git.kernel.dk/linuxLinus Torvalds1-11/+39
2024-01-12block: ensure we hold a queue reference when using queue limitsJens Axboe1-6/+10
2024-01-12blk-mq: rename blk_mq_can_use_cached_rqChristoph Hellwig1-3/+6
2024-01-12blk-mq: fix IO hang from sbitmap wakeup raceMing Lei1-0/+16
2024-01-11Merge tag 'for-6.8/block-2024-01-08' of git://git.kernel.dk/linuxLinus Torvalds1-1/+2
2024-01-10block: fix partial zone append completion handling in req_bio_endio()Damien Le Moal1-2/+7
2023-12-01block: skip QUEUE_FLAG_STATS and rq-qos for passthrough ioKundan Kumar1-1/+2
2023-12-01blk-mq: don't count completed flush data request as inflight in case of quiesceMing Lei1-1/+13
2023-11-13blk-mq: make sure active queue usage is held for bio_integrity_prep()Christoph Hellwig1-37/+38
2023-09-22blk-mq: update driver tags request table when start requestChengming Zhou1-0/+1
2023-09-22blk-mq: support batched queue_rqs() on shared tags queueChengming Zhou1-6/+1
2023-09-22blk-mq: remove RQF_MQ_INFLIGHTChengming Zhou1-4/+0
2023-09-22blk-mq: account active requests when get driver tagChengming Zhou1-21/+12
2023-09-11blk-mq: fix tags UAF when shrinking q->nr_hw_queuesChengming Zhou1-6/+7
2023-08-29Merge tag 'for-6.6/block-2023-08-28' of git://git.kernel.dk/linuxLinus Torvalds1-14/+31
2023-08-22blk-mq: prealloc tags when increase tagset nr_hw_queuesChengming Zhou1-0/+10
2023-08-22blk-mq: delete redundant tagset map update when fallbackChengming Zhou1-1/+0
2023-08-22blk-mq: fix tags leak when shrink nr_hw_queuesChengming Zhou1-1/+5
2023-08-19blk-mq: release scheduler resource when request completesChengming Zhou1-3/+20
2023-07-24block: Improve performance for BLK_MQ_F_BLOCKING driversBart Van Assche1-6/+10
2023-07-17blk-mq: use percpu csd to remote complete instead of per-rq csdChengming Zhou1-6/+6
2023-07-14blk-mq: Fix stall due to recursive flush plugRoss Lagerwall1-1/+8
2023-07-13blk-mq: fix start_time_ns and alloc_time_ns for pre-allocated rqChengming Zhou1-17/+30
2023-06-28block: add request polling helperKeith Busch1-16/+32
2023-06-28Merge branch 'for-6.5/block-late' into block-6.5Jens Axboe1-1/+5
2023-06-26Merge tag 'for-6.5/block-2023-06-23' of git://git.kernel.dk/linuxLinus Torvalds1-68/+73
2023-06-25blk-mq: fix two misuses on RQF_USE_SCHEDMing Lei1-1/+5
2023-06-21blk-mq: don't insert passthrough request into sw queueMing Lei1-1/+6
2023-06-16blk-mq: fix NULL dereference on q->elevator in blk_mq_elv_switch_noneMing Lei1-3/+7
2023-06-14blk-mq: check on cpu id when there is only one ctx mappingEd Tsai1-2/+3
2023-06-03blk-mq: fix blk_mq_hw_ctx active request accountingTian Lan1-4/+4
2023-05-24block: introduce block_io_start/block_io_done tracepointsHengqi Chen1-0/+4
2023-05-19blk-mq: don't use the requeue list to queue flush commandsChristoph Hellwig1-29/+13
2023-05-19blk-mq: use the I/O scheduler for writes from the flush state machineBart Van Assche1-2/+2
2023-05-19blk-mq: defer to the normal submission path for non-flush flush commandsChristoph Hellwig1-4/+4
2023-05-18blk-mq: make sure elevator callbacks aren't called for passthrough requestChristoph Hellwig1-24/+29
2023-05-18blk-mq: remove RQF_ELVPRIVChristoph Hellwig1-4/+2
2023-05-18blk-mq: don't queue plugged passthrough requests into schedulerMing Lei1-2/+6
2023-04-26Merge tag 'for-6.4/block-2023-04-21' of git://git.kernel.dk/linuxLinus Torvalds1-409/+256