[PATCH v3 00/11] Performance fixes for 9p filesystem

Eric Van Hensbergen
2023-01-24T02:39:12Z

This is the third version of a patch series which adds a number
of features to improve read/write performance in the 9p filesystem.
Mostly it focuses on fixing caching to help utilize the recently
increased MSIZE limits and also fixes some problematic behavior
within the writeback code.

All together, these show roughly 10x speed increases on simple
file transfers. Future patch sets will improve cache consistency
and directory caching.

These patches are also available on github:
https://github.com/v9fs/linux/tree/ericvh/for-next
and on kernel.org:
https://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git

Tested against qemu, cpu, and diod with fsx, dbench, and some
simple benchmarks.

Eric Van Hensbergen (11):
Adjust maximum MSIZE to account for p9 header
Expand setup of writeback cache to all levels
Consolidate file operations and add readahead and writeback
Remove unnecessary superblock flags
allow disable of xattr support on mount
fix bug in client create for .L
Add additional debug flags and open modes
Add new mount modes
fix error reporting in v9fs_dir_release
writeback mode fixes
Fix revalidate

Documentation/filesystems/9p.rst | 26 +++--
fs/9p/fid.c | 52 ++++-----
fs/9p/fid.h | 33 +++++-
fs/9p/v9fs.c | 49 +++++---
fs/9p/v9fs.h | 9 +-
fs/9p/v9fs_vfs.h | 4 -
fs/9p/vfs_addr.c | 24 ++--
fs/9p/vfs_dentry.c | 3 +-
fs/9p/vfs_dir.c | 16 ++-
fs/9p/vfs_file.c | 194 +++++++------------------------
fs/9p/vfs_inode.c | 71 ++++-------
fs/9p/vfs_inode_dotl.c | 62 +++++-----
fs/9p/vfs_super.c | 28 +++--
include/net/9p/9p.h | 5 +
net/9p/client.c | 8 +-
15 files changed, 256 insertions(+), 328 deletions(-)

--
2.37.2