Re: [Gluster-devel] How commonly applications make use of fadvise?

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

 



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 <rgowdapp@xxxxxxxxxx> 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
Gluster-devel@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-devel

_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://lists.gluster.org/mailman/listinfo/gluster-users

[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux