Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Aug 2018 19:25:43 +0000 (UTC)
From:      Conrad Meyer <cem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r337165 - head/sys/fs/fuse
Message-ID:  <201808021925.w72JPhIu086582@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cem
Date: Thu Aug  2 19:25:43 2018
New Revision: 337165
URL: https://svnweb.freebsd.org/changeset/base/337165

Log:
  FUSE: Bump maximum IO size to enable more performant operation
  
  Various components restrict size of IO passed up to the userspace filesystem
  based on the mount's f_iosize value.  The previous default of PAGE_SIZE
  is anemic, even for normal filesystems, but especially considering every
  FUSE operation involves a kernel <-> userspace IPC upcall.
  
  Bump to DFLTPHYS (currently 64kB) to match other FUSE implementations.
  
  Anecdotally, Jakub reports IO read performance increased from 600 MB/s ->
  2700 MB/s with a basic RAM-backed FUSE filesystem.
  
  PR:		230260
  Reported by:	Peter (MooseFS) <freebsd AT moosefs.com>
  Tested by:	Jakub Kruszona-Zawadzki <acid AT moosefs.com>
  MFC after:	3 days

Modified:
  head/sys/fs/fuse/fuse_vfsops.c

Modified: head/sys/fs/fuse/fuse_vfsops.c
==============================================================================
--- head/sys/fs/fuse/fuse_vfsops.c	Thu Aug  2 19:19:53 2018	(r337164)
+++ head/sys/fs/fuse/fuse_vfsops.c	Thu Aug  2 19:25:43 2018	(r337165)
@@ -341,7 +341,7 @@ fuse_vfsop_mount(struct mount *mp)
 	mp->mnt_kern_flag |= MNTK_USES_BCACHE;
 	MNT_IUNLOCK(mp);
 	/* We need this here as this slot is used by getnewvnode() */
-	mp->mnt_stat.f_iosize = PAGE_SIZE;
+	mp->mnt_stat.f_iosize = DFLTPHYS;
 	if (subtype) {
 		strlcat(mp->mnt_stat.f_fstypename, ".", MFSNAMELEN);
 		strlcat(mp->mnt_stat.f_fstypename, subtype, MFSNAMELEN);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808021925.w72JPhIu086582>