Re: [RFC] FUSE: add another flag to support shared mmap in FOPEN_DIRECT_IO mode

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

 



Hi Bernd,


On 5/2/23 15:37, Bernd Schubert wrote:
Hi Hao,

On 5/2/23 09:28, Hao Xu wrote:
Hi all,

 From discussion with Bernd, I get that FOPEN_DIRECT_IO is designed for those user cases where users want strong coherency like network filesystems, where one server serves multiple remote clients. And thus shared mmap is disabled since local page cache existence breaks this kind of coherency.

But here our use case is one virtiofs daemon serve one guest vm, We use FOPEN_DIRECT_IO to reduce memory footprint not for coherency. So we expect shared mmap works in this case. Here I suggest/am implementing adding another flag to indicate this kind of cases----use FOPEN_DIRECT_IO not for coherency----so that shared mmap works.

Yeah it should work, but I think what you want is "DAX" - can you try to enable it?

fuse_i.h:    FUSE_DAX_ALWAYS,    /* "-o dax=always" */
fuse_i.h:    FUSE_DAX_NEVER,        /* "-o dax=never" */
fuse_i.h:    FUSE_DAX_INODE_USER,    /* "-o dax=inode" */



Hope it helps,
Bernd


Thanks for your suggestion, the thing is most IO in our case are small random read to small files. I believe Dax should help but doubt it may be not too much.

Another reason we are not leveraging DAX is the hypervisor software we use doesn't support DAX well. So I think the feature in this RFC should be good for

some non-DAX use cases (like ours)


Thanks,

Hao




[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