Commit cc76ace4 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: remove BLK_MQ_F_SHOULD_MERGE



BLK_MQ_F_SHOULD_MERGE is set for all tag_sets except those that purely
process passthrough commands (bsg-lib, ufs tmf, various nvme admin
queues) and thus don't even check the flag.  Remove it to simplify the
driver interface.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20241219060214.1928848-1-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 9bc1e897
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -865,7 +865,6 @@ static int ubd_add(int n, char **error_out)
	ubd_dev->tag_set.ops = &ubd_mq_ops;
	ubd_dev->tag_set.queue_depth = 64;
	ubd_dev->tag_set.numa_node = NUMA_NO_NODE;
	ubd_dev->tag_set.flags = BLK_MQ_F_SHOULD_MERGE;
	ubd_dev->tag_set.driver_data = ubd_dev;
	ubd_dev->tag_set.nr_hw_queues = 1;

+0 −1
Original line number Diff line number Diff line
@@ -181,7 +181,6 @@ static const char *const alloc_policy_name[] = {

#define HCTX_FLAG_NAME(name) [ilog2(BLK_MQ_F_##name)] = #name
static const char *const hctx_flag_name[] = {
	HCTX_FLAG_NAME(SHOULD_MERGE),
	HCTX_FLAG_NAME(TAG_QUEUE_SHARED),
	HCTX_FLAG_NAME(STACKING),
	HCTX_FLAG_NAME(TAG_HCTX_SHARED),
+1 −2
Original line number Diff line number Diff line
@@ -351,8 +351,7 @@ bool blk_mq_sched_bio_merge(struct request_queue *q, struct bio *bio,
	ctx = blk_mq_get_ctx(q);
	hctx = blk_mq_map_queue(q, bio->bi_opf, ctx);
	type = hctx->type;
	if (!(hctx->flags & BLK_MQ_F_SHOULD_MERGE) ||
	    list_empty_careful(&ctx->rq_lists[type]))
	if (list_empty_careful(&ctx->rq_lists[type]))
		goto out_put;

	/* default per sw-queue merge */
+0 −1
Original line number Diff line number Diff line
@@ -1819,7 +1819,6 @@ static int fd_alloc_drive(int drive)
	unit[drive].tag_set.nr_maps = 1;
	unit[drive].tag_set.queue_depth = 2;
	unit[drive].tag_set.numa_node = NUMA_NO_NODE;
	unit[drive].tag_set.flags = BLK_MQ_F_SHOULD_MERGE;
	if (blk_mq_alloc_tag_set(&unit[drive].tag_set))
		goto out_cleanup_trackbuf;

+0 −1
Original line number Diff line number Diff line
@@ -368,7 +368,6 @@ aoeblk_gdalloc(void *vp)
	set->nr_hw_queues = 1;
	set->queue_depth = 128;
	set->numa_node = NUMA_NO_NODE;
	set->flags = BLK_MQ_F_SHOULD_MERGE;
	err = blk_mq_alloc_tag_set(set);
	if (err) {
		pr_err("aoe: cannot allocate tag set for %ld.%d\n",
Loading