minio/internal/disk
Harshavardhana 38027c8f52
use fadvise to control Linux page-cache (#13312)
This PR brings two optimizations mainly
for page-cache build-up and how to avoid
getting OOM killed in the process. Although
these memories are reclaimable Linux is not
fast enough to reclaim them as needed on a
very busy system. fadvise is a system call
implemented in Linux to advise page-cache to
avoid overload as we get significant amount
of requests on the server.

- FADV_SEQUENTIAL tells that all I/O from now
  is going to be sequential, allowing for more
  resposive throughput.

- FADV_NOREUSE tells kernel to start removing
  things for this 'fd' from page-cache.
2021-09-28 10:02:56 -07:00
..
directio_darwin.go rename all remaining packages to internal/ (#12418) 2021-06-01 14:59:40 -07:00
directio_unix.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
directio_unsupported.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
disk.go rename all remaining packages to internal/ (#12418) 2021-06-01 14:59:40 -07:00
disk_test.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
disk_unix.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
disk_windows.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
fdatasync_linux.go use fadvise to control Linux page-cache (#13312) 2021-09-28 10:02:56 -07:00
fdatasync_unix.go use fadvise to control Linux page-cache (#13312) 2021-09-28 10:02:56 -07:00
fdatasync_unsupported.go use fadvise to control Linux page-cache (#13312) 2021-09-28 10:02:56 -07:00
health.go rename all remaining packages to internal/ (#12418) 2021-06-01 14:59:40 -07:00
root_disk.go rename all remaining packages to internal/ (#12418) 2021-06-01 14:59:40 -07:00
stat_bsd.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
stat_freebsd.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
stat_linux.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
stat_linux_32bit.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
stat_linux_s390x.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
stat_netbsd.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
stat_openbsd.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
stat_solaris.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
stat_windows.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
type_bsd.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
type_linux.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00
type_windows.go fix: enable go1.17 github ci/cd (#12997) 2021-08-18 18:35:22 -07:00