aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-merge.c
AgeCommit message (Expand)AuthorFilesLines
10 daysblock: support to account io_ticks preciselyYu Kuai1-0/+2
2024-04-17block: Do not special-case plugging of zone write operationsDamien Le Moal1-2/+1
2024-04-17block: Introduce zone write pluggingDamien Le Moal1-0/+12
2024-04-17block: Allow using bio_attempt_back_merge() internallyDamien Le Moal1-7/+1
2024-03-26block: Make blk_rq_set_mixed_merge() staticJohn Garry1-1/+1
2024-02-06block, fs: Restore the per-bio/request data lifetime fieldsBart Van Assche1-0/+8
2023-12-29block: remove two comments in bio_split_discardChristoph Hellwig1-5/+1
2023-03-16blk-mq: release crypto keyslot before reporting I/O completeEric Biggers1-0/+2
2023-03-03Merge tag 'block-6.3-2023-03-03' of git://git.kernel.dk/linuxLinus Torvalds1-7/+0
2023-03-02blk-mq: enforce op-specific segment limits in blk_insert_cloned_requestUday Shankar1-7/+0
2023-02-20Merge tag 'for-6.3/block-2023-02-16' of git://git.kernel.dk/linuxLinus Torvalds1-2/+33
2023-02-16block: use proper return value from bio_failfast()Jens Axboe1-1/+1
2023-02-16block: sync mixed merged request's failfast with 1st bio'sMing Lei1-2/+33
2023-02-15block: export bio_split_rwChristoph Hellwig1-1/+2
2023-01-04block: don't allow splitting of a REQ_NOWAIT bioJens Axboe1-0/+10
2023-01-04block: handle bio_split_to_limits() NULL returnJens Axboe1-1/+3
2022-10-25block: Micro-optimize get_max_segment_size()Bart Van Assche1-4/+11
2022-10-25block: Constify most queue limits pointersBart Van Assche1-13/+16
2022-08-02block: pass struct queue_limits to the bio splitting helpersChristoph Hellwig1-57/+50
2022-08-02block: move bio_allowed_max_sectors to blk-merge.cChristoph Hellwig1-0/+10
2022-08-02block: move the call to get_max_io_size out of blk_bio_segment_splitChristoph Hellwig1-4/+5
2022-08-02block: move ->bio_split to the gendiskChristoph Hellwig1-3/+4
2022-08-02block: change the blk_queue_split calling conventionChristoph Hellwig1-50/+48
2022-08-02Merge tag 'for-5.20/block-2022-07-29' of git://git.kernel.dk/linux-blockLinus Torvalds1-33/+46
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-0/+2
2022-07-14block: fix missing blkcg_bio_issue_initMuchun Song1-0/+1
2022-07-06block: simplify blk_mq_plugChristoph Hellwig1-1/+1
2022-06-27block: fold blk_max_size_offset into get_max_io_sizeChristoph Hellwig1-2/+7
2022-06-27block: cleanup variable naming in get_max_io_sizeChristoph Hellwig1-10/+8
2022-06-27block: open code blk_max_size_offset in blk_rq_get_max_sectorsChristoph Hellwig1-4/+5
2022-06-27block/merge: count bytes instead of sectorsKeith Busch1-17/+24
2022-03-26Merge tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-14/+0
2022-03-24Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-40/+0
2022-03-14block: don't merge across cgroup boundaries if blkcg is enabledTejun Heo1-0/+11
2022-03-11block: ensure plug merging checks the correct queue at least onceJens Axboe1-6/+14
2022-03-07block: remove the per-bio/request write hintChristoph Hellwig1-14/+0
2022-02-22scsi: block: Remove REQ_OP_WRITE_SAME supportChristoph Hellwig1-40/+0
2022-02-16block: throttle split bio in case of iops limitMing Lei1-2/+0
2021-11-29block: don't check ->rq_disk in mergesChristoph Hellwig1-6/+1
2021-11-29block: don't include <linux/part_stat.h> in blk.hChristoph Hellwig1-0/+1
2021-11-29block: don't include blk-mq-sched.h in blk.hChristoph Hellwig1-0/+1
2021-11-29blk-mq: simplify the plug handling in blk_mq_submit_bioChristoph Hellwig1-8/+1
2021-11-03blk-mq: only try to run plug merge if request has same queue with incoming bioMing Lei1-2/+4
2021-10-20block: convert leftovers to bdev_get_queuePavel Begunkov1-1/+1
2021-10-19block: change plugging to use a singly linked listJens Axboe1-2/+2
2021-10-19block: return whether or not to unplug through booleanJens Axboe1-6/+5
2021-10-18block: handle fast path of bio splitting inlineJens Axboe1-18/+6
2021-10-18block: rename REQ_HIPRI to REQ_POLLEDChristoph Hellwig1-2/+1
2021-10-18block: only check previous entry for plug merge attemptJens Axboe1-23/+13
2021-10-18block: move bio_get_{first,last}_bvec out of bio.hChristoph Hellwig1-0/+31
2021-10-18block: move blk-throtl fast path inlineJens Axboe1-0/+1
2021-10-18block: move integrity handling out of <linux/blkdev.h>Christoph Hellwig1-0/+1
2021-10-18block: move a few merge helpers out of <linux/blkdev.h>Christoph Hellwig1-0/+24
2021-08-30Merge tag 'io_uring-bio-cache.5-2021-08-30' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2021-08-23block: provide bio_clear_hipri() helperJens Axboe1-1/+1
2021-08-14blk-throtl: optimize IOPS throttle for large IO scenariosChunguang Xu1-0/+2
2021-08-09block: return ELEVATOR_DISCARD_MERGE if possibleMing Lei1-16/+0
2021-06-29block: fix discard request mergeMing Lei1-2/+6
2021-06-24blk: Fix lock inversion between ioc lock and bfqd lockJan Kara1-11/+8
2021-03-23block: recalculate segment count for multi-segment discards correctlyDavid Jeffery1-0/+8
2021-01-24block: store a block_device pointer in struct bioChristoph Hellwig1-9/+8
2020-12-16Merge tag 'for-5.11/block-2020-12-14' of git://git.kernel.dk/linux-blockLinus Torvalds1-6/+12
2020-12-07block: disable iopoll for split bioJeffle Xu1-0/+8
2020-12-04dm: fix IO splittingMike Snitzer1-1/+1
2020-12-04block: remove the request_queue to argument request based tracepointsChristoph Hellwig1-1/+1
2020-12-04block: remove the request_queue argument to the block_split tracepointChristoph Hellwig1-1/+1
2020-12-04block: simplify and extend the block_bio_merge tracepoint classChristoph Hellwig1-2/+2
2020-12-01block: allocate struct hd_struct as part of struct bdev_inodeChristoph Hellwig1-2/+0
2020-10-06block: move blk_mq_sched_try_merge to blk-merge.cChristoph Hellwig1-12/+50
2020-09-01block: Remove a duplicative conditionBaolin Wang1-4/+2
2020-09-01block: Add a new helper to attempt to merge a bioBaolin Wang1-51/+53
2020-09-01block: Move blk_mq_bio_list_merge() into blk-merge.cBaolin Wang1-0/+44
2020-09-01block: Move bio merge related functions into blk-merge.cBaolin Wang1-0/+157
2020-08-21block: fix get_max_io_size()Keith Busch1-1/+1
2020-08-17block: respect queue limit of max discard segmentMing Lei1-2/+9
2020-08-04Merge tag 'uninit-macro-v5.9-rc1' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-1/+1
2020-07-16treewide: Remove uninitialized_var() usageKees Cook1-1/+1
2020-07-01block: rename generic_make_request to submit_bio_noacctChristoph Hellwig1-1/+1
2020-07-01block: remove the request_queue argument from blk_queue_splitChristoph Hellwig1-11/+10
2020-06-25blktrace: Provide event for request mergingJan Kara1-0/+2
2020-05-27block: reduce part_stat_lock() scopeChristoph Hellwig1-1/+2
2020-05-27block: account merge of two requestsKonstantin Khlebnikov1-7/+5
2020-05-19block: don't call part_{inc,dec}_in_flight for blk-mq devicesChristoph Hellwig1-2/+0
2020-05-14block: Inline encryption support for blk-mqSatya Tangirala1-0/+11
2020-04-29block: replace BIO_QUEUE_ENTERED with BIO_CGROUP_ACCTChristoph Hellwig1-10/+0
2020-04-22block: move dma_pad handling from blk_rq_map_sg into the callersChristoph Hellwig1-8/+0
2020-04-22block: move dma drain handling to scsiChristoph Hellwig1-14/+0
2020-04-22block: provide a blk_rq_map_sg variant that returns the last elementChristoph Hellwig1-13/+12
2020-04-22block: remove RQF_COPY_USERChristoph Hellwig1-2/+1
2020-01-14block: fix get_max_segment_size() overflow on 32bit archMing Lei1-2/+7
2019-12-30block: fix splitting segments on boundary masksMing Lei1-9/+9
2019-11-21Revert "block: split bio if the only bvec's length is > SZ_4K"Jens Axboe1-1/+1
2019-11-08block: split bio if the only bvec's length is > SZ_4KMing Lei1-1/+1
2019-11-08block: still try to split bio if the bvec crosses pagesMing Lei1-1/+2
2019-11-04block: avoid blk_bio_segment_split for small I/O operationsChristoph Hellwig1-1/+15
2019-08-04block: Improve physical block alignment of split biosBart Van Assche1-4/+17
2019-08-04block: Simplify blk_bio_segment_split()Bart Van Assche1-35/+33
2019-08-04block: Simplify bvec_split_segs()Bart Van Assche1-9/+7
2019-08-04block: Document the bio splitting functionsBart Van Assche1-0/+43
2019-08-04block: Declare several function pointer arguments 'const'Bart Van Assche1-3/+4
2019-07-03block: nr_phys_segments needs to be zero for REQ_OP_WRITE_ZEROESChristoph Hellwig1-1/+1
2019-06-20block: untangle the end of blk_bio_segment_splitChristoph Hellwig1-11/+3
2019-06-20block: simplify blk_recalc_rq_segmentsChristoph Hellwig1-15/+6
2019-06-20block: remove the bi_phys_segments field in struct bioChristoph Hellwig1-48/+27
2019-05-23block: remove the bi_seg_{front,back}_size fields in struct bioChristoph Hellwig1-82/+12
2019-05-23block: remove the segment size check in bio_will_gapChristoph Hellwig1-18/+1
2019-05-23block: don't decrement nr_phys_segments for physically contigous segmentsChristoph Hellwig1-22/+1
2019-04-22block: avoid scatterlist offsets > PAGE_SIZEChristoph Hellwig1-1/+13
2019-04-12block: rewrite blk_bvec_map_sg to avoid a nth_page callChristoph Hellwig1-15/+6
2019-04-08block: fix build warning in merging bvecsMing Lei1-6/+10
2019-04-01block: don't check if adjacent bvecs in one bio can be mergeableMing Lei1-27/+42
2019-04-01block: reuse __blk_bvec_map_sg() for mapping page sized bvecMing Lei1-11/+9
2019-04-01block: remove argument of 'request_queue' from __blk_bvec_map_sgMing Lei1-3/+3
2019-04-01block: don't merge adjacent bvecs to one segment in bio blk_queue_splitMing Lei1-17/+0
2019-03-06block: fix segment calculation for passthrough IOMing Lei1-7/+8
2019-03-02block: fix updating bio's front segment sizeMing Lei1-0/+8
2019-02-27block: optimize blk_bio_segment_split for single-page bvecMing Lei1-3/+9
2019-02-27block: optimize __blk_segment_map_sg() for single-page bvecMing Lei1-2/+7
2019-02-27block: introduce bvec_nth_page()Ming Lei1-1/+1
2019-02-19block: avoid to READ fields of null bioMing Lei1-1/+3
2019-02-15block: kill QUEUE_FLAG_NO_SG_MERGEMing Lei1-25/+6
2019-02-15block: use bio_for_each_bvec() to map sgMing Lei1-20/+50
2019-02-15block: use bio_for_each_bvec() to compute multi-page bvec countMing Lei1-20/+83
2019-02-15block: don't use bio->bi_vcnt to figure out segment numberMing Lei1-7/+1
2019-01-27Revert "block: cover another queue enter recursion via BIO_QUEUE_ENTERED"Jens Axboe1-0/+10
2019-01-22block: cover another queue enter recursion via BIO_QUEUE_ENTEREDMing Lei1-10/+0
2018-12-28Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-11/+7
2018-12-18scsi: block: remove the cluster flagChristoph Hellwig1-11/+7
2018-12-14block: remove the blk_recount_segments exportChristoph Hellwig1-1/+0
2018-12-10block: delete part_round_stats and switch to less precise countingMikulas Patocka1-1/+0
2018-12-10block: stop passing 'cpu' to all percpu stats methodsMike Snitzer1-3/+2
2018-12-04Merge tag 'v4.20-rc5' into for-4.21/blockJens Axboe1-1/+1
2018-11-30block: fix single range discard mergeMing Lei1-1/+1
2018-11-19block: prevent merging of requests with different prioritiesDamien Le Moal1-2/+6
2018-11-18Merge tag 'v4.20-rc3' into for-4.21/blockJens Axboe1-2/+3
2018-11-14block: make blk_try_req_merge() staticEric Biggers1-1/+2
2018-11-09block: make sure discard bio is aligned with logical block sizeMing Lei1-1/+2
2018-11-07block: kill request ->cpu memberJens Axboe1-2/+0
2018-11-07blk-merge: kill dead queue lock held checkJens Axboe1-3/+0
2018-11-07block: remove req_no_special_merge() from merging codeJens Axboe1-22/+3
2018-11-07block: remove __blk_put_request()Jens Axboe1-1/+1
2018-11-07block: remove dead elevator codeJens Axboe1-5/+0
2018-11-07block: respect virtual boundary mask in bvecsJohannes Thumshirn1-1/+1
2018-10-29block: fix the DISCARD request mergeJianchao Wang1-10/+36
2018-09-24block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeableChristoph Hellwig1-24/+5
2018-09-24block: simplify BIOVEC_PHYS_MERGEABLEChristoph Hellwig1-5/+5
2018-09-24block: move req_gap_{back,front}_merge to blk-merge.cChristoph Hellwig1-0/+65
2018-06-02block: don't use blocking queue entered for recursive bio submitsJens Axboe1-0/+10
2018-05-30block: convert bounce, q->bio_split to bioset_init()/mempool_init()Kent Overstreet1-4/+4
2018-05-09block: consolidate struct request timestamp fieldsOmar Sandoval1-6/+5
2018-02-01blk-mq: fix discard merge with scheduler attachedJens Axboe1-3/+26
2018-01-09Revert "block: blk-merge: try to make front segments in full size"Ming Lei1-49/+5
2018-01-06block: blk-merge: remove unnecessary checkMing Lei1-3/+1
2018-01-06block: blk-merge: try to make front segments in full sizeMing Lei1-5/+49
2018-01-06blk-merge: compute bio->bi_seg_front_size efficientlyMing Lei1-4/+5
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-08-23block: replace bi_bdev with a gendisk pointer and partitions indexChristoph Hellwig1-1/+1
2017-08-09block: pass in queue to inflight accountingJens Axboe1-2/+2
2017-06-27block: add support for write hints in a bioJens Axboe1-0/+14
2017-06-20block: Check locking assumptions at runtimeBart Van Assche1-0/+3
2017-06-18block: don't check for BIO_MAX_PAGES in blk_bio_segment_split()NeilBrown1-16/+0
2017-06-18block: remove bio_clone() and all references.NeilBrown1-3/+3
2017-06-18block: Improvements to bounce-buffer handlingNeilBrown1-10/+4
2017-06-18blk: remove bio_set arg from blk_queue_split()NeilBrown1-5/+4
2017-04-08block: implement splitting of REQ_OP_WRITE_ZEROES biosChristoph Hellwig1-2/+15
2017-02-08block: optionally merge discontiguous discard bios into a single requestChristoph Hellwig1-1/+4
2017-02-08block: enumify ELEVATOR_*_MERGEChristoph Hellwig1-1/+1
2017-02-08block: move req_set_nomerge to blk.hChristoph Hellwig1-7/+0
2017-02-03block: free merged request in the callerJens Axboe1-3/+12
2017-02-03blk-merge: return the merged requestJens Axboe1-15/+16
2017-01-17blk-mq-sched: add framework for MQ capable IO schedulersJens Axboe1-1/+1
2017-01-17block: move existing elevator ops to unionJens Axboe1-2/+2
2016-12-09block: improve handling of the magic discard payloadChristoph Hellwig1-36/+17
2016-12-01block: factor out req_set_nomergeRitesh Harjani1-9/+10
2016-12-01block: add support for REQ_OP_WRITE_ZEROESChaitanya Kulkarni1-4/+13
2016-10-28block: split out request-only flags into a new namespaceChristoph Hellwig1-4/+4
2016-08-24block: make sure a big bio is split into at most 256 bvecsMing Lei1-0/+22
2016-08-16block: Fix secure eraseAdrian Hunter1-14/+19
2016-08-07block: rename bio bi_rw to bi_opfJens Axboe1-4/+4
2016-07-26Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-blockLinus Torvalds1-4/+2
2016-07-20block: Fix front merge checkDamien Le Moal1-3/+3
2016-07-20block: do not merge requests without consulting with io schedulerTahsin Erdogan1-0/+6
2016-06-09block: add a separate operation type for secure eraseChristoph Hellwig1-4/+2
2016-06-07block: convert merge/insert code to check for REQ_OPs.Mike Christie1-4/+6
2016-06-07block, fs, mm, drivers: use bio set/get op accessorsMike Christie1-6/+6
2016-06-07block, drivers, cgroup: use op_is_write helper instead of checking for REQ_WRITEMike Christie1-1/+1
2016-03-03block: merge: get the 1st and last bvec via helpersMing Lei1-6/+2
2016-01-22block: fix bio splitting on max sectorsMing Lei1-7/+19
2016-01-19Merge branch 'for-4.5/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-3/+19
2016-01-12block: split bios to max possible lengthKeith Busch1-3/+16
2016-01-08Revert "block: Split bios on chunk boundaries"Jens Axboe1-1/+1
2015-12-22block: Split bios on chunk boundariesKeith Busch1-1/+1
2015-12-03block: add call to split trace pointMike Krinkin1-0/+3
2015-11-30blk-merge: fix computing bio->bi_seg_front_size in case of single segmentMing Lei1-0/+3
2015-11-23blk-merge: warn if figured out segment number is bigger than nr_phys_segmentsMing Lei1-0/+6
2015-11-23blk-merge: fix blk_bio_segment_splitMing Lei1-3/+19
2015-11-23block: fix segment splitMing Lei1-2/+2
2015-10-21block: avoid to merge splitted bioMing Lei1-0/+3
2015-10-21block: setup bi_phys_segments after splittingMing Lei1-7/+22