This patch raises 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
difference in performance.
From: Michal Belczyk <[email protected]>
Signed-off-by: Paul Clements <[email protected]>
---
nbd.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 7fecc78..037288e 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -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")) {
On Tue, 2 Apr 2013 15:41:20 -0400 (EDT) Paul Clements <[email protected]> wrote:
> This patch raises 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
> difference in performance.
>
> From: Michal Belczyk <[email protected]>
> Signed-off-by: Paul Clements <[email protected]>
This is a bit odd.
- The author's "From:" line shouild appear right at the start of the
changelog.
- Michal's Signed-off-by: is absent. Is one available?
Thanks.