9p: set readahead and io size according to maxsize
authorDominique Martinet <asmadeus@codewreck.org>
Thu, 4 Nov 2021 12:01:27 +0000 (21:01 +0900)
committerDominique Martinet <asmadeus@codewreck.org>
Thu, 4 Nov 2021 12:04:04 +0000 (21:04 +0900)
having a readahead of 128k with a msize of 128k (with overhead) lead to
reading 124+4k everytime, making two roundtrips needlessly.

tune readahead according to msize when cache is enabled for better
performance

Link: http://lkml.kernel.org/r/20211104120323.2189376-1-asmadeus@codewreck.org
Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
fs/9p/vfs_super.c

index c6028af..b0632f4 100644 (file)
@@ -79,6 +79,9 @@ v9fs_fill_super(struct super_block *sb, struct v9fs_session_info *v9ses,
        if (!v9ses->cache) {
                sb->s_bdi->ra_pages = 0;
                sb->s_bdi->io_pages = 0;
+       } else {
+               sb->s_bdi->ra_pages = v9ses->maxdata >> PAGE_SHIFT;
+               sb->s_bdi->io_pages = v9ses->maxdata >> PAGE_SHIFT;
        }
 
        sb->s_flags |= SB_ACTIVE | SB_DIRSYNC;