aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-mq.c
AgeCommit message (Expand)AuthorFilesLines
2019-07-10block: Disable write plugging for zoned block devicesDamien Le Moal1-1/+1
2019-07-02blk-mq: simplify blk_mq_make_request()Bart Van Assche1-8/+2
2019-07-02blk-mq: remove blk_mq_put_ctx()Bart Van Assche1-13/+3
2019-06-20block: remove the bi_phys_segments field in struct bioChristoph Hellwig1-11/+12
2019-06-20block: remove blk_init_request_from_bioChristoph Hellwig1-1/+6
2019-05-29blk-mq: Fix memory leak in error handlingJes Sorensen1-1/+4
2019-05-23blk-mq: fix hang caused by freeze/unfreeze sequenceBob Liu1-9/+10
2019-05-04blk-mq: always free hctx after request queue is freedMing Lei1-13/+33
2019-05-04blk-mq: split blk_mq_alloc_and_init_hctx into two partsMing Lei1-64/+75
2019-05-04blk-mq: free hw queue's resource in hctx's release handlerMing Lei1-6/+2
2019-05-04blk-mq: move cancel of requeue_work into blk_mq_releaseMing Lei1-0/+2
2019-05-02block: fix function name in commentRaul E Rangel1-1/+1
2019-04-30block: add SPDX tags to block layer files missing licensing informationChristoph Hellwig1-0/+1
2019-04-13bfq: update internal depth state when queue depth changesJens Axboe1-0/+2
2019-04-10blk-mq: introduce blk_mq_complete_request_sync()Ming Lei1-0/+7
2019-04-05block: Revert v5.0 blk_mq_request_issue_directly() changesBart Van Assche1-59/+63
2019-04-04blk-mq: do not reset plug->rq_count before the list is sortedDongli Zhang1-1/+2
2019-04-02blk-mq: add trace block plug and unplug for multiple queuesYufen Yu1-0/+2
2019-04-02block: use blk_free_flush_queue() to free hctx->fq in blk_mq_init_hctxShenghui Wang1-1/+1
2019-03-25blk-mq: fix sbitmap ws_active for shared tagsJens Axboe1-2/+11
2019-03-24blk-mq: update comment for blk_mq_hctx_has_pending()Yufen Yu1-1/+2
2019-03-20block: Unexport blk_mq_add_to_requeue_list()Bart Van Assche1-1/+0
2019-03-20block: add BLK_MQ_POLL_CLASSIC for hybrid poll and return EINVAL for unexpect...Yufen Yu1-2/+2
2019-03-18blk-mq: use blk_mq_sched_mark_restart_hctx to set RESTARTYufen Yu1-2/+1
2019-03-09Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-4/+0
2019-03-08Merge tag 'for-5.1/block-20190302' of git://git.kernel.dk/linux-blockLinus Torvalds1-13/+20
2019-02-28blk-mq: use HCTX_TYPE_DEFAULT but not 0 to index blk_mq_tag_set->mapDongli Zhang1-7/+7
2019-02-15block: kill QUEUE_FLAG_NO_SG_MERGEMing Lei1-3/+0
2019-02-11blk-mq: insert rq with DONTPREP to hctx dispatch list when requeueJianchao Wang1-2/+10
2019-02-08block: avoid setting nr_requests to current valueAleksei Zakharov1-0/+3
2019-02-05scsi: block: remove bidi supportChristoph Hellwig1-3/+0
2019-02-05scsi: block: remove req->specialChristoph Hellwig1-1/+0
2019-02-01blk-mq: save default hctx into ctx->hctxs for not-supported typeJianchao Wang1-1/+8
2019-02-01blk-mq: save queue mapping result into ctx directlyJianchao Wang1-2/+2
2019-01-16block: don't lose track of REQ_INTEGRITY flagMing Lei1-1/+2
2018-12-18block: make request_to_qc_t publicSagi Grimberg1-8/+0
2018-12-17blk-mq: enable IO poll if .nr_queues of type poll > 0Ming Lei1-1/+2
2018-12-17blk-mq: change blk_mq_queue_busy() to blk_mq_queue_inflight()Jens Axboe1-8/+8
2018-12-17blk-mq: skip zero-queue maps in blk_mq_map_swqueueMing Lei1-0/+3
2018-12-17blk-mq: fix dispatch from sw queueMing Lei1-10/+19
2018-12-17blk-mq: fix allocation for queue mapping tableMing Lei1-1/+1
2018-12-16blk-mq: replace and kill blk_mq_request_issue_directlyJianchao Wang1-8/+1
2018-12-16blk-mq: issue directly with bypass 'false' in blk_mq_sched_insert_requestsJianchao Wang1-11/+9
2018-12-16blk-mq: refactor the code of issue request directlyJianchao Wang1-49/+54
2018-12-10block: return just one value from part_in_flightMikulas Patocka1-7/+5
2018-12-09Merge tag 'v4.20-rc6' into for-4.21/blockJens Axboe1-3/+4
2018-12-07blk-mq: re-build queue map in case of kdump kernelMing Lei1-2/+3
2018-12-07blk-mq: punt failed direct issue to dispatch listJens Axboe1-28/+5
2018-12-04blk-mq: fix corruption with direct issueJens Axboe1-1/+25
2018-12-04block: enable polling by default if a poll map is initalizedChristoph Hellwig1-0/+2
2018-12-04block: remove ->poll_fnChristoph Hellwig1-5/+19
2018-12-03blk-mq: don't call ktime_get_ns() if we don't need itJens Axboe1-2/+17
2018-11-29blk-mq: use plug for devices that implement ->commits_rqs()Jens Axboe1-1/+5
2018-11-29blk-mq: use bd->last == true for list insertsJens Axboe1-8/+8
2018-11-29blk-mq: add mq_ops->commit_rqs()Jens Axboe1-0/+16
2018-11-29block: improve logic around when to sort a plug listJens Axboe1-5/+18
2018-11-29blk-mq: Add a NULL check in blk_mq_free_map_and_requests()Dan Carpenter1-1/+1
2018-11-28blk-mq: fix failure to decrement plug count on single rq removalJens Axboe1-1/+3
2018-11-26block: sum requests in the plug structureJens Axboe1-11/+5
2018-11-26blk-mq: Simplify request completion stateKeith Busch1-3/+1
2018-11-26blk-mq: Return true if request was completedKeith Busch1-2/+3
2018-11-26blk-mq: never redirect polled IO completionsJens Axboe1-1/+6
2018-11-26blk-mq: ensure mq_ops ->poll() is entered at least onceJens Axboe1-2/+2
2018-11-26block: make blk_poll() take a parameter on whether to spin or notJens Axboe1-3/+3
2018-11-26blk-mq: remove 'tag' parameter from mq_ops->poll()Jens Axboe1-1/+1
2018-11-26blk-mq: when polling for IO, look for any completionJens Axboe1-35/+36
2018-11-21blk-mq: not embed .mq_kobj and ctx->kobj into queue instanceMing Lei1-7/+32
2018-11-19block: Remove bio->bi_iocDamien Le Moal1-2/+2
2018-11-19block: have ->poll_fn() return number of entries polledJens Axboe1-9/+9
2018-11-19block: avoid ordered task state change for polled IOJens Axboe1-2/+2
2018-11-16block: add queue_is_mq() helperJens Axboe1-1/+1
2018-11-15block: remove the lock argument to blk_alloc_queue_nodeChristoph Hellwig1-1/+1
2018-11-15block: remove the unused lock argument to rq_qos_throttleChristoph Hellwig1-1/+1
2018-11-15block: use atomic bitops for ->queue_flagsChristoph Hellwig1-1/+1
2018-11-15block: remove deadline __deadline manipulation helpersChristoph Hellwig1-2/+2
2018-11-09block: remove req->timeout_listChristoph Hellwig1-1/+0
2018-11-08blk-mq: provide a helper to check if a queue is busyJens Axboe1-0/+26
2018-11-08blk-mq-tag: change busy_iter_fn to return whether to continue or notJens Axboe1-5/+11
2018-11-07blk-mq: improve plug list sortingJens Axboe1-5/+12
2018-11-07blk-mq: cleanup and improve list insertionJens Axboe1-11/+14
2018-11-07blk-mq: cache request hardware queue mappingJens Axboe1-13/+9
2018-11-07blk-mq: separate number of hardware queues from nr_cpu_idsJens Axboe1-7/+21
2018-11-07blk-mq: support multiple hctx mapsJens Axboe1-31/+61
2018-11-07blk-mq: allow software queue to map to multiple hardware queuesJens Axboe1-6/+16
2018-11-07blk-mq: pass in request/bio flags to queue mappingJens Axboe1-22/+28
2018-11-07blk-mq: abstract out queue mapJens Axboe1-16/+18
2018-11-07blk-mq: kill q->mq_mapJens Axboe1-9/+4
2018-11-07block: kill request ->cpu memberJens Axboe1-1/+6
2018-11-07block: get rid of q->softirq_done_fn()Jens Axboe1-9/+8
2018-11-07block: get rid of blk_queued_rq()Jens Axboe1-1/+1
2018-11-07block: remove request_list codeJens Axboe1-4/+0
2018-11-07block: get rid of MQ scheduler ops unionJens Axboe1-6/+6
2018-11-07blk-mq: remove legacy check in queue blk_freeze_queue()Jens Axboe1-2/+0
2018-11-07blk-mq: remove the request_list usageJens Axboe1-5/+0
2018-10-25blk-mq: place trace_block_getrq() in correct placeXiaoguang Wang1-2/+2
2018-10-15blk-mq: provide helper for setting up an SQ queue and tag setJens Axboe1-0/+33
2018-10-13blk-mq: fallback to previous nr_hw_queues when updating failsJianchao Wang1-3/+24
2018-10-13blk-mq: realloc hctx when hw queue is mapped to another nodeJianchao Wang1-26/+56
2018-10-13blk-mq: change gfp flags to GFP_NOIO in blk_mq_realloc_hw_ctxsJianchao Wang1-7/+10
2018-10-13blk-mq: adjust debugfs and sysfs register when updating nr_hw_queuesJianchao Wang1-27/+12
2018-10-08blk-mq: complete req in softirq context in case of single queueMing Lei1-0/+14
2018-10-01Merge tag 'v4.19-rc6' into for-4.20/blockJens Axboe1-2/+2
2018-09-27block: move call of scheduler's ->completed_request() hookOmar Sandoval1-2/+3
2018-09-27blk-mq: I/O and timer unplugs are inverted in blktraceIlya Dryomov1-2/+2
2018-09-26blk-mq: Enable support for runtime power managementBart Van Assche1-0/+2
2018-09-26block: Allow unfreezing of a queue while requests are in progressBart Van Assche1-1/+1
2018-08-22Merge tag 'for-4.19/post-20180822' of git://git.kernel.dk/linux-blockLinus Torvalds1-8/+88
2018-08-21blk-mq: sync the update nr_hw_queues with blk_mq_queue_tag_busy_iterJianchao Wang1-0/+4
2018-08-21blk-mq: init hctx sched after update ctx and hctx mappingJianchao Wang1-8/+84
2018-08-14Merge tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-blockLinus Torvalds1-60/+113
2018-08-09blk-mq: count the hctx as active before allocating tagJianchao Wang1-2/+6
2018-07-27Merge tag 'for-linus-20180727' of git://git.kernel.dk/linux-blockLinus Torvalds1-3/+1
2018-07-24blk-mq: export setting request completion stateKeith Busch1-3/+1
2018-07-22blk-mq: fail the request in case issue failureMing Lei1-2/+6
2018-07-17blk-mq: issue directly if hw queue isn't busy in case of 'none'Ming Lei1-1/+22
2018-07-09block: remove external dependency on wbt_flagsJosef Bacik1-5/+4
2018-07-09blk-rq-qos: refactor out common elements of blk-wbtJosef Bacik1-6/+6
2018-07-09blk-mq: dequeue request one by one from sw queue if hctx is busyMing Lei1-1/+32
2018-07-09blk-mq: use list_splice_tail_init() to insert requestsMing Lei1-7/+7
2018-07-09blk-mq: fix typo in a function commentMinwoo Im1-1/+1
2018-07-09blk-mq: code clean-up by adding an API to clear set->mq_mapMinwoo Im1-3/+1
2018-07-09blk-mq: remove synchronize_rcu() from blk_mq_del_queue_tag_set()Ming Lei1-8/+2
2018-07-09blk-mq: introduce new lock for protecting hctx->dispatch_waitMing Lei1-9/+17
2018-07-09blk-mq: don't pass **hctx to blk_mq_mark_tag_wait()Ming Lei1-12/+11
2018-07-09blk-mq: cleanup blk_mq_get_driver_tag()Ming Lei1-12/+7
2018-06-30Merge tag 'for-linus-20180629' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+12
2018-06-29blk-mq: don't queue more if we get a busy returnJens Axboe1-0/+12
2018-06-24Merge tag 'for-linus-20180623' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+0
2018-06-23blk-mq: Fix timeout handling in case the timeout handler returns BLK_EH_DONEBart Van Assche1-1/+0
2018-06-17Merge tag 'for-linus-20180616' of git://git.kernel.dk/linux-blockLinus Torvalds1-2/+6
2018-06-14blk-mq: don't time out requests again that are in the timeout handlerChristoph Hellwig1-0/+5
2018-06-12treewide: kzalloc_node() -> kcalloc_node()Kees Cook1-8/+8
2018-06-11blk-mq: reinit q->tag_set_list entry only after grace periodRoman Pen1-2/+1
2018-06-04blk-mq: return when hctx is stopped in blk_mq_run_work_fnJianchao Wang1-1/+1
2018-06-01block: split the blk-mq case from elevator_initChristoph Hellwig1-1/+1
2018-06-01block: move sysfs_lock into elevator_initChristoph Hellwig1-1/+1
2018-05-29blk-mq: simplify blk_mq_rq_timed_outChristoph Hellwig1-14/+8
2018-05-29block: remove BLK_EH_HANDLEDChristoph Hellwig1-4/+0
2018-05-29block: rename BLK_EH_NOT_HANDLED to BLK_EH_DONEChristoph Hellwig1-1/+1
2018-05-29blk-mq: Remove generation seqeunceKeith Busch1-183/+75
2018-05-29blk-mq: Fix timeout and state orderKeith Busch1-1/+1
2018-05-22blk-mq: remove wrong 'unlikely' checkhuhai1-1/+1
2018-05-18blk-mq: clear hctx->dispatch_from when mappings changehuhai1-0/+1
2018-05-16blk-mq: remove redundant insert case in blk_mq_make_request()huhai1-15/+1
2018-05-10blk-mq: don't call into depth limiting for reserved tagsJens Axboe1-2/+4
2018-05-09block: consolidate struct request timestamp fieldsOmar Sandoval1-5/+5
2018-05-09block: move blk_stat_add() to __blk_mq_end_request()Omar Sandoval1-4/+5
2018-05-09block: get rid of struct blk_issue_statOmar Sandoval1-2/+6
2018-05-09block: pass struct request instead of struct blk_issue_stat to wbtOmar Sandoval1-5/+5
2018-04-26blk-mq: fix sysfs inflight counterOmar Sandoval1-0/+19
2018-04-26blk-mq: count allocated but not started requests in iostats inflightOmar Sandoval1-12/+9
2018-04-25Revert "blk-mq: remove code for dealing with remapping queue"Ming Lei1-3/+31
2018-04-16blk-mq: start request gstate with gen 1Jianchao Wang1-0/+7
2018-04-10blk-mq: remove code for dealing with remapping queueMing Lei1-31/+3
2018-04-10blk-mq: don't check queue mapped in __blk_mq_delay_run_hw_queue()Ming Lei1-3/+0
2018-04-10blk-mq: remove blk_mq_delay_queue()Ming Lei1-28/+2
2018-04-10blk-mq: introduce blk_mq_hw_queue_first_cpu() to figure out first cpuMing Lei1-12/+11
2018-04-10blk-mq: avoid to write intermediate result to hctx->next_cpuMing Lei1-8/+9
2018-04-10blk-mq: make sure that correct hctx->next_cpu is setMing Lei1-0/+2
2018-04-10blk-mq: order getting budget and driver tagMing Lei1-11/+10
2018-03-08block: Protect queue flag changes with the queue lockBart Van Assche1-1/+1
2018-03-08block: Introduce blk_queue_flag_{set,clear,test_and_{set,clear}}()Bart Van Assche1-10/+2
2018-03-08block: Use the queue_flag_*() functions instead of open-coding theseBart Van Assche1-1/+1
2018-02-28block: Add 'lock' as third argument to blk_alloc_queue_node()Bart Van Assche1-1/+1
2018-02-28block: clear ctx pending bit under ctx lockOmar Sandoval1-1/+1
2018-02-24blk-mq: don't call io sched's .requeue_request when requeueing rq to ->dispatchMing Lei1-1/+3
2018-02-13blk: optimization for classic pollingNitesh Shetty1-0/+1
2018-01-30blk-mq: introduce BLK_STS_DEV_RESOURCEMing Lei1-4/+16
2018-01-29Merge branch 'for-4.16/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-230/+437
2018-01-19blk-mq: Avoid that blk_mq_delay_run_hw_queue() introduces unintended delaysBart Van Assche1-4/+3
2018-01-19blk-mq: Rename blk_mq_request_direct_issue() into blk_mq_request_issue_direct...Bart Van Assche1-2/+2
2018-01-17blk-mq: don't dispatch request in blk_mq_request_direct_issue if queue is busyMing Lei1-12/+10
2018-01-17blk-mq-sched: remove unused 'can_block' arg from blk_mq_sched_insert_requestMike Snitzer1-9/+7
2018-01-17blk-mq: improve DM's blk-mq IO merging via blk_insert_cloned_request feedbackMing Lei1-8/+29
2018-01-17blk-mq: factor out a few helpers from __blk_mq_try_issue_directlyMike Snitzer1-27/+52
2018-01-17blk-mq: turn WARN_ON in __blk_mq_run_hw_queue into printkMing Lei1-2/+20
2018-01-17blk-mq: make sure hctx->next_cpu is set correctlyMing Lei1-2/+28
2018-01-14blk-mq: fix bad clear of RQF_MQ_INFLIGHT in blk_mq_ct_ctx_init()Jens Axboe1-2/+3
2018-01-12blk-mq: simplify queue mapping & schedule with each possisble CPUChristoph Hellwig1-11/+8
2018-01-11blk-mq: Reduce the number of if-statements in blk_mq_mark_tag_wait()Bart Van Assche1-34/+35
2018-01-10blk-mq: Add locking annotations to hctx_lock() and hctx_unlock()Bart Van Assche1-0/+2
2018-01-10block: rearrange a few request fields for better cache layoutJens Axboe1-9/+9
2018-01-10block: convert REQ_ATOM_COMPLETE to stealing rq->__deadline bitJens Axboe1-1/+1
2018-01-10block: add accessors for setting/querying request deadlineJens Axboe1-1/+1
2018-01-10block: remove REQ_ATOM_POLL_SLEPTJens Axboe1-3/+2
2018-01-10blk-mq: Explain when 'active_queues' is decrementedBart Van Assche1-0/+6
2018-01-09blk-mq: Fix spelling in a source code commentBart Van Assche1-2/+2
2018-01-09blk-mq: silence false positive warnings in hctx_unlock()Jens Axboe1-2/+4
2018-01-09blk-mq: rename blk_mq_hw_ctx->queue_rq_srcu to ->srcuTejun Heo1-7/+7
2018-01-09blk-mq: remove REQ_ATOM_STARTEDTejun Heo1-29/+8
2018-01-09blk-mq: remove REQ_ATOM_COMPLETE usages from blk-mqTejun Heo1-8/+7
2018-01-09blk-mq: make blk_abort_request() trigger timeout pathTejun Heo1-1/+1
2018-01-09blk-mq: use blk_mq_rq_state() instead of testing REQ_ATOM_COMPLETETejun Heo1-3/+3
2018-01-09blk-mq: replace timeout synchronization with a RCU and generation based schemeTejun Heo1-72/+157
2018-01-09blk-mq: protect completion path with RCUTejun Heo1-0/+5
2018-01-09blk-mq: move hctx lock/unlock into a helperJens Axboe1-34/+32
2018-01-09blk-mq: fix kernel oops in blk_mq_tag_idle()Ming Lei1-1/+2
2018-01-06blk-mq: fix race between updating nr_hw_queues and switching io schedMing Lei1-0/+4
2018-01-06blk-mq: avoid to map CPU into stale hw queueMing Lei1-2/+20
2018-01-06blk-mq: quiesce queue during switching io sched and updating nr_requestsMing Lei1-1/+26