diff mbox series

[CIFS] smb3: improve parallel reads of large files

Message ID CAH2r5mug_RmfmdBJqpzofB36wAHx4MVC0kO2G80ft7m13tx_Zg@mail.gmail.com (mailing list archive)
State New, archived
Headers show
Series [CIFS] smb3: improve parallel reads of large files | expand

Commit Message

Steve French May 8, 2023, 5:54 a.m. UTC
rasize (ra_pages) should be set higher than read size by default
to allow parallel reads when reading large files in order to
improve performance (otherwise there is much dead time on the
network when doing readahead of large files).  Default rasize
to twice readsize.  See attached patch

This improved performance for me (although there may be cases where
setting it more than 2*read_size still could help).  ceph IIRC sets
ra_pages even higher (to 8MB by default).   Any thoughts?
diff mbox series

Patch

From 68aac85b9b697cfc1dc1286f596ebbddb9ae3c56 Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@microsoft.com>
Date: Mon, 8 May 2023 00:45:45 -0500
Subject: [PATCH] smb3: improve parallel reads of large files

rasize (ra_pages) should be set higher than read size by default
to allow parallel reads when reading large files in order to
improve performance (otherwise there is much dead time on the
network when doing readahead of large files).  Default rasize
to twice readsize.

Signed-off-by: Steve French <stfrench@microsoft.com>
---
 fs/cifs/cifsfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 32f7c81a7b89..81430abacf93 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -246,7 +246,7 @@  cifs_read_super(struct super_block *sb)
 	if (cifs_sb->ctx->rasize)
 		sb->s_bdi->ra_pages = cifs_sb->ctx->rasize / PAGE_SIZE;
 	else
-		sb->s_bdi->ra_pages = cifs_sb->ctx->rsize / PAGE_SIZE;
+		sb->s_bdi->ra_pages = 2 * (cifs_sb->ctx->rsize / PAGE_SIZE);
 
 	sb->s_blocksize = CIFS_MAX_MSGSIZE;
 	sb->s_blocksize_bits = 14;	/* default 2**14 = CIFS_MAX_MSGSIZE */
-- 
2.34.1