Commit 5c5028ee authored by Keith Busch's avatar Keith Busch Committed by Jens Axboe
Browse files

block: rename min_segment_size



Despite its name, the block layer is fine with segments smaller that the
"min_segment_size" limit. The value is an optimization limit indicating
the largest segment that can be used without considering boundary
limits. Smaller segments can take a fast path, so give it a name that
reflects that: max_fast_segment_size.

Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent e5a82249
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -336,7 +336,7 @@ int bio_split_io_at(struct bio *bio, const struct queue_limits *lim,

		if (nsegs < lim->max_segments &&
		    bytes + bv.bv_len <= max_bytes &&
		    bv.bv_offset + bv.bv_len <= lim->min_segment_size) {
		    bv.bv_offset + bv.bv_len <= lim->max_fast_segment_size) {
			nsegs++;
			bytes += bv.bv_len;
		} else {
+2 −2
Original line number Diff line number Diff line
@@ -457,12 +457,12 @@ int blk_validate_limits(struct queue_limits *lim)
			return -EINVAL;
	}

	/* setup min segment size for building new segment in fast path */
	/* setup max segment size for building new segment in fast path */
	if (lim->seg_boundary_mask > lim->max_segment_size - 1)
		seg_size = lim->max_segment_size;
	else
		seg_size = lim->seg_boundary_mask + 1;
	lim->min_segment_size = min_t(unsigned int, seg_size, PAGE_SIZE);
	lim->max_fast_segment_size = min_t(unsigned int, seg_size, PAGE_SIZE);

	/*
	 * We require drivers to at least do logical block aligned I/O, but
+1 −1
Original line number Diff line number Diff line
@@ -377,7 +377,7 @@ static inline bool bio_may_need_split(struct bio *bio,
	if (bio->bi_vcnt != 1)
		return true;
	return bio->bi_io_vec->bv_len + bio->bi_io_vec->bv_offset >
		lim->min_segment_size;
		lim->max_fast_segment_size;
}

/**
+1 −1
Original line number Diff line number Diff line
@@ -378,7 +378,7 @@ struct queue_limits {
	unsigned int		max_sectors;
	unsigned int		max_user_sectors;
	unsigned int		max_segment_size;
	unsigned int		min_segment_size;
	unsigned int		max_fast_segment_size;
	unsigned int		physical_block_size;
	unsigned int		logical_block_size;
	unsigned int		alignment_offset;