Hi, Both swift[1] and gluster-swift[2] calls posix_fadvise64() with POSIX_FADV_DONTNEED right after calling fdatasync() or fsync(). This is only performed during object PUT operation (writing an object to disk) suggesting the kernel that the data written is no longer needed with the hopes that cached pages that are more useful are not discarded instead.
[1]: https://github.com/openstack/swift/blob/2105ad2a7f6e56cabea0e0b71c5cae94088fd597/swift/common/utils.py#L833 [2]: https://github.com/gluster/gluster-swift/blob/master/gluster/swift/obj/diskfile.py#L300 On Fri, Aug 11, 2017 at 10:17 AM, Raghavendra Gowdappa <[email protected]> wrote: > Hi all, > > In a conversation between me, Milind and Csaba, Milind pointed out > fadvise(2) [1] and its potential benefits to Glusterfs' caching translators > like read-ahead etc. After discussing about it, we agreed that our > performance translators can leverage the hints to provide better > performance. Now the question is how commonly applications actually provide > hints? Is it something that is used quite frequently? If yes, we can think > of implementing this in glusterfs (probably kernel-fuse too?). If no, there > is not much of an advantage in spending our energies here. Your inputs will > help us to prioritize this feature. > > [1] https://linux.die.net/man/2/fadvise > > regards, > Raghavendra > _______________________________________________ > Gluster-devel mailing list > [email protected] > http://lists.gluster.org/mailman/listinfo/gluster-devel >
_______________________________________________ Gluster-devel mailing list [email protected] http://lists.gluster.org/mailman/listinfo/gluster-devel
