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>

index | next in thread | previous in thread | raw e-mail

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


home | help

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