aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-mq.c
AgeCommit message (Expand)AuthorFilesLines
2018-09-27blk-mq: I/O and timer unplugs are inverted in blktraceIlya Dryomov1-2/+2
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
2018-01-05block: drain queue before waiting for q_usage_counter becoming zeroMing Lei1-0/+2
2017-11-15block/blk-mq.c: use kmalloc_array_node()Johannes Thumshirn1-1/+1
2017-11-10blk-mq: fixup some comment typos and lengthsJens Axboe1-7/+10
2017-11-10blk-mq: improve tag waiting setup for non-shared tagsJens Axboe1-26/+55
2017-11-10blk-mq: only run the hardware queue if IO is pendingJens Axboe1-7/+11
2017-11-10block, nvme: Introduce blk_mq_req_flags_tBart Van Assche1-2/+2
2017-11-10block, scsi: Make SCSI quiesce and resume work reliablyBart Van Assche1-2/+2
2017-11-10block: Introduce BLK_MQ_REQ_PREEMPTBart Van Assche1-0/+2
2017-11-10block: Make q_usage_counter also track legacy requestsMing Lei1-8/+2
2017-11-10blk-mq: fix issue with shared tag queue re-runningJens Axboe1-37/+48
2017-11-10blk-mq: put driver tag if dispatch budget can't be gotMing Lei1-1/+3
2017-11-04blk-mq: don't allocate driver tag upfront for flush rqMing Lei1-35/+6
2017-11-04blk-mq: move blk_mq_put_driver_tag*() into blk-mq.hMing Lei1-32/+0
2017-11-04block: pass 'run_queue' to blk_mq_request_bypass_insertMing Lei1-2/+3
2017-11-04blk-mq: put the driver tag of nxt rq before first one is requeuedJianchao Wang1-10/+9
2017-11-04blk-mq: don't handle failure in .get_budgetMing Lei1-13/+4
2017-11-03blk-mq: Make blk_mq_get_request() error path less confusingBart Van Assche1-5/+7
2017-11-03blk-mq: fix nr_requests wrong value when modify it from sysfsweiping zhang1-2/+1
2017-11-03block: add a poll_fn callback to struct request_queueChristoph Hellwig1-9/+5
2017-11-01blk-mq: don't restart queue when .get_budget returns BLK_STS_RESOURCEMing Lei1-6/+2
2017-11-01blk-mq-sched: improve dispatching from sw queueMing Lei1-0/+39
2017-11-01blk-mq: introduce .get_budget and .put_budget in blk_mq_opsMing Lei1-5/+38
2017-10-10block: set request_list for requestShaohua Li1-0/+5
2017-10-04blk-mq: document the need to have STARTED and COMPLETED share a byteJens Axboe1-0/+6
2017-10-04blk-mq: attempt to fix atomic flag memory orderingPeter Zijlstra1-12/+40
2017-10-03blk-mq: wire up completion notifier for laptop modeJens Axboe1-0/+3
2017-09-30blk-mq: remove unused function hctx_allow_mergesweiping zhang1-6/+0
2017-09-11block: directly insert blk-mq request from blk_insert_cloned_request()Jens Axboe1-0/+16
2017-09-07Merge branch 'for-4.14/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-5/+49
2017-08-18block: Fix two comments that refer to .queue_rq() return valuesBart Van Assche1-2/+2
2017-08-15blk-mq: Fix queue usage on failed request allocationKeith Busch1-3/+2
2017-08-09block: Make blk_mq_delay_kick_requeue_list() rerun the queue at a quiet timeBart Van Assche1-2/+2
2017-08-09blk-mq: enable checking two part inflight counts at the same timeJens Axboe1-4/+8
2017-08-09blk-mq: provide internal in-flight variantJens Axboe1-0/+31
2017-08-02blk-mq: don't leak preempt counter/q_usage_counter when allocating rq failedMing Lei1-6/+11
2017-08-01blk-mq: add warning to __blk_mq_run_hw_queue() for ints disabledJens Axboe1-0/+10
2017-07-29blk-mq: blk_mq_requeue_work() doesn't need to save IRQ flagsJens Axboe1-3/+2
2017-07-11Merge branch 'for-linus' of git://git.kernel.dk/linux-blockLinus Torvalds1-3/+1
2017-07-03Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-109/+11
2017-07-03bio-integrity: fold bio_integrity_enabled to bio_integrity_prepDmitry Monakhov1-3/+1
2017-07-03Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-2/+2
2017-06-28blk-mq: Create hctx for each present CPUChristoph Hellwig1-109/+11
2017-06-27blk-mq: don't bounce by defaultChristoph Hellwig1-5/+0
2017-06-27block: don't bother with bounce limits for make_request driversChristoph Hellwig1-0/+5
2017-06-24Merge branch 'linus' into sched/core, to pick up fixesIngo Molnar1-3/+13
2017-06-22Merge commit '8e8320c9315c' into for-4.13/blockJens Axboe1-3/+13
2017-06-22blk-mq: remove double set queue_numweiping1-1/+0
2017-06-21blk-mq: Make it safe to quiesce and unquiesce from an interrupt handlerBart Van Assche1-2/+18
2017-06-21blk-mq: fix performance regression with shared tagsJens Axboe1-3/+13
2017-06-20blk-mq: Warn when attempting to run a hardware queue that is not mappedBart Van Assche1-3/+5
2017-06-20blk-mq: Document locking assumptionsBart Van Assche1-0/+4
2017-06-20blk-mq: Initialize .rq_flags in blk_mq_rq_ctx_init()Bart Van Assche1-1/+2
2017-06-20block: Make request operation type argument declarations consistentBart Van Assche1-5/+5
2017-06-20blk-mq: Reduce blk_mq_hw_ctx sizeBart Van Assche1-8/+22
2017-06-20block: return on congested block deviceGoldwyn Rodrigues1-0/+4
2017-06-20sched/wait: Disambiguate wq_entry->task_list and wq_head->task_list namingIngo Molnar1-1/+1
2017-06-20sched/wait: Rename wait_queue_t => wait_queue_entry_tIngo Molnar1-1/+1
2017-06-18Revert "blk-mq: don't use sync workqueue flushing from drivers"Ming Lei1-22/+8
2017-06-18blk-mq: clarify dispatch may not be drained/blocked by stopping queueMing Lei1-0/+18
2017-06-18blk-mq: don't stop queue for quiescingMing Lei1-6/+3
2017-06-18blk-mq: update comments on blk_mq_quiesce_queue()Ming Lei1-3/+4
2017-06-18blk-mq: use QUEUE_FLAG_QUIESCED to quiesce queueMing Lei1-1/+10
2017-06-18blk-mq: introduce blk_mq_unquiesce_queueMing Lei1-0/+13
2017-06-18blk: remove bio_set arg from blk_queue_split()NeilBrown1-1/+1
2017-06-18blk-mq: remove __blk_mq_alloc_requestChristoph Hellwig1-41/+27
2017-06-18blk-mq-sched: unify request prepare methodsChristoph Hellwig1-16/+6
2017-06-18blk-mq: refactor blk_mq_sched_assign_iocChristoph Hellwig1-2/+12
2017-06-18blk-mq: streamline blk_mq_get_requestChristoph Hellwig1-14/+14
2017-06-18blk-mq: simplify blk_mq_free_requestChristoph Hellwig1-35/+15
2017-06-18blk-mq-sched: unify request finished methodsChristoph Hellwig1-7/+4
2017-06-18blk-mq: remove blk_mq_sched_{get,put}_rq_privChristoph Hellwig1-1/+2
2017-06-18blk-mq: move blk_mq_sched_{get,put}_request to blk-mq.cChristoph Hellwig1-4/+63
2017-06-18blk-mq: mark blk_mq_rq_ctx_init staticChristoph Hellwig1-3/+2
2017-06-12blk-mq: fixup type of 'ret' in __blk_mq_try_issue_directly()Jens Axboe1-1/+1
2017-06-12Merge tag 'v4.12-rc5' into for-4.13/blockJens Axboe1-10/+27
2017-06-09blk-mq: switch ->queue_rq return value to blk_status_tChristoph Hellwig1-20/+17
2017-06-09block: introduce new block status code typeChristoph Hellwig1-4/+4
2017-06-06blk-mq: fix direct issueMing Lei1-7/+13
2017-06-06blk-mq: pass correct hctx to blk_mq_try_issue_directlyMing Lei1-1/+4
2017-05-30blk-mq: Take tagset lock when updating hw queuesKeith Busch1-1/+9
2017-05-26blk-mq: make per-sw-queue bio merge as default .bio_mergeMing Lei1-64/+0
2017-05-26blk-mq: merge bio into sw queue before pluggingMing Lei1-22/+26
2017-05-22blk-mq: remove blk_mq_abort_requeue_list()Ming Lei1-19/+0
2017-05-10blk-mq: NVMe 512B/4K+T10 DIF/DIX format returns I/O error on dd with split opWen Xiong1-2/+2
2017-05-08blk-mq: make __blk_mq_stop_hw_queues staticColin Ian King1-1/+1
2017-05-07block/mq: fix potential deadlock during cpu hotplugWanpeng Li1-2/+2
2017-05-04blk-mq: untangle debugfs and sysfsOmar Sandoval1-0/+7
2017-05-04block/mq: Cure cpu hotplug lock inversionPeter Zijlstra1-2/+2
2017-05-03blk-mq: don't use sync workqueue flushing from driversJens Axboe1-5/+20
2017-05-02block: don't call blk_mq_quiesce_queue() after queue is frozenMing Lei1-2/+0
2017-05-02blk-mq: update ->init_request and ->exit_request prototypesChristoph Hellwig1-13/+5
2017-05-01Merge branch 'for-4.12/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-317/+248
2017-04-28blk-mq: unify hctx delay_work and run_workJens Axboe1-12/+22
2017-04-28blk-mq: unify hctx delayed_run_work and run_workJens Axboe1-21/+6
2017-04-21blk-mq: Fix preempt count imbalanceBart Van Assche1-1/+2
2017-04-21blk-stat: kill blk_stat_rq_ddir()Jens Axboe1-1/+1
2017-04-20blk-mq: add might_sleep check to blk_mq_get_driver_tag()Jens Axboe1-0/+2
2017-04-20blk-mq: Fix poll_stat for new size-based bucketing.Stephen Bates1-2/+0
2017-04-20blk-mq: fix schedule-while-atomic with scheduler attachedJens Axboe1-5/+6
2017-04-20blk-mq: Add a polling specific stats functionStephen Bates1-10/+35
2017-04-20blk-mq: fix potential oops with polling and blk-mq schedulerJens Axboe1-1/+10
2017-04-20block: remove the errors field from struct requestChristoph Hellwig1-7/+3
2017-04-20blk-mq: simplify __blk_mq_complete_requestChristoph Hellwig1-17/+8
2017-04-20blk-mq: remove the error argument to blk_mq_complete_requestChristoph Hellwig1-12/+3
2017-04-19block: Export blk_init_request_from_bio()Bart Van Assche1-1/+1