aoe: set an optimal I/O size
authorChristoph Hellwig <hch@lst.de>
Thu, 24 Sep 2020 06:51:31 +0000 (08:51 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 24 Sep 2020 19:43:38 +0000 (13:43 -0600)
aoe forces a larger readahead size, but any reason to do larger I/O
is not limited to readahead.  Also set the optimal I/O size, and
remove the local constants in favor of just using SZ_2G.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/aoe/aoeblk.c

index 5ca7216..d8cfc23 100644 (file)
@@ -347,7 +347,6 @@ aoeblk_gdalloc(void *vp)
        mempool_t *mp;
        struct request_queue *q;
        struct blk_mq_tag_set *set;
-       enum { KB = 1024, MB = KB * KB, READ_AHEAD = 2 * MB, };
        ulong flags;
        int late = 0;
        int err;
@@ -407,7 +406,8 @@ aoeblk_gdalloc(void *vp)
        WARN_ON(d->gd);
        WARN_ON(d->flags & DEVFL_UP);
        blk_queue_max_hw_sectors(q, BLK_DEF_MAX_SECTORS);
-       q->backing_dev_info->ra_pages = READ_AHEAD / PAGE_SIZE;
+       q->backing_dev_info->ra_pages = SZ_2M / PAGE_SIZE;
+       blk_queue_io_opt(q, SZ_2M);
        d->bufpool = mp;
        d->blkq = gd->queue = q;
        q->queuedata = d;