On Wed, 2 Jul 2025 at 15:33, Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > 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. Page cache is bypassed iff the file is opened with O_DIRECT. So the statement "passthrough backing file descriptor bypasses the kernel page cache" implies that the backing file was opened with O_DIRECT. > "I/O on the passthrough backing file descriptor bypasses the > *FUSE* page cache and goes directly to *the backing file*." > NOT *directly to disk. Yeah, the question is where does the performance regression comes from relative to non-passthrough mode. Thanks, Miklos