Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Aug 2018 16:46:04 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Conrad Meyer <cem@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r337165 - head/sys/fs/fuse
Message-ID:  <CANCZdfp14_geVtU3M=s=bs%2BYaKaUAmxJKKkBnA4o3CLLoeYmQg@mail.gmail.com>
In-Reply-To: <201808021925.w72JPhIu086582@repo.freebsd.org>
References:  <201808021925.w72JPhIu086582@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 2, 2018 at 1:25 PM, Conrad Meyer <cem@freebsd.org> wrote:

> 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;
>

Why DFLTPHYS instead of MAXPHYS?

DFLTPHYS defaults to 64k, while MAXPHYS is 128k. Or do you expect people
that want different behavior to raise both?

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfp14_geVtU3M=s=bs%2BYaKaUAmxJKKkBnA4o3CLLoeYmQg>