Re: Query regarding FUSE passthrough not using kernel page cache thus causing performance regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 2, 2025 at 2:59 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
>
> On Wed, 2 Jul 2025 at 14:27, Ashmeen Kaur <ashmeen@xxxxxxxxxx> wrote:
> >
> > Hello Team,
> >
> > I have been experimenting with the FUSE
> > passthrough(https://docs.kernel.org/filesystems/fuse-passthrough.html)
> > feature. I have a question regarding its interaction with the kernel
> > page cache.
> >
> > During my evaluation, I observed a performance degradation when using
> > passthrough. My understanding is that the I/O on the passthrough
> > backing file descriptor bypasses the kernel page cache and goes
> > directly to disk.
>
> Passthrough opens the backing file with the same flags as the fuse
> file was opened.  If it had O_DIRECT, then the backing file will be
> opened with O_DIRECT.
>
> If your fuse server implementation removed O_DIRECT from the open
> flags before opening the backing file, then this can indeed be a
> regression.   Otherwise there is probably some other issue.

I am confused by this statement about O_DIRECT.
I don't think that it was implied that O_DIRECT was used in this test.

The statement: "My understanding is that the I/O on the passthrough
backing file descriptor bypasses the kernel page cache and goes
directly to disk."

Is not accurate.

The accurate statement is:

"I/O on the passthrough backing file descriptor bypasses the
 *FUSE* page cache and goes directly to *the backing file*."
NOT *directly to disk.

So if you are doing passthrough to XFS file for example,
and the application is doing buffered read, you get buffered
read from XFS and utilize the page cache of XFS.

That's the reason for disallowing FOPEN_KEEP_CACHE
because the FUSE page cache is not utilized.

So the main questions are which backing filesystem are
you doing passthrough to? and which mode is the test
opening the file?

Thanks,
Amir.





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux