]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
nbd: increase default and max request sizes
authorMichal Belczyk <belczyk@bsd.krakow.pl>
Wed, 17 Apr 2013 23:49:14 +0000 (09:49 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Mon, 22 Apr 2013 08:08:31 +0000 (18:08 +1000)
Raise the default max request size for nbd to 128KB (from 127KB) to get it
4KB aligned.  This patch also allows the max request size to be increased
(via /sys/block/nbd<x>/queue/max_sectors_kb) to 32MB.

The patch makes nbd network traffic more efficient by:
- reducing request fragmentation (4KB alignment)
- reducing the number of requests (fewer round trips, less network overhead)

Especially in high latency networks, larger request size can make a dramatic

Signed-off-by: Paul Clements <paul.clements@steeleye.com>
Signed-off-by: Michal Belczyk <belczyk@bsd.krakow.pl>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
drivers/block/nbd.c

index 7fecc784be01321cf0954024252e47fa777eb763..037288e7874d625676f5fa9e95a9920ac91551f5 100644 (file)
@@ -856,6 +856,8 @@ static int __init nbd_init(void)
                disk->queue->limits.discard_granularity = 512;
                disk->queue->limits.max_discard_sectors = UINT_MAX;
                disk->queue->limits.discard_zeroes_data = 0;
+               blk_queue_max_hw_sectors(disk->queue, 65536);
+               disk->queue->limits.max_sectors = 256;
        }
 
        if (register_blkdev(NBD_MAJOR, "nbd")) {