From 11e3c6dd26fd609b45338b12f85512524bad0b6b Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 1 Apr 2019 14:33:13 -0400 Subject: [PATCH] packagefs: Open HPKG files as O_NOCACHE. We have not one but two internal caches in packagefs for *uncompressed* data; we do not need the underlying filesystem to cache the *compressed* data needlessly. This seems to be a negligible memory and boot speed improvement at best, although it will likely help in low-memory situations in reducing the pressure on the file cache (... actually it doesn't look like the file cache responds to low resource notifications at all, which may be relevant here.) --- src/add-ons/kernel/file_systems/packagefs/package/Package.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/file_systems/packagefs/package/Package.cpp b/src/add-ons/kernel/file_systems/packagefs/package/Package.cpp index d594faf7ce..a5ffa4783b 100644 --- a/src/add-ons/kernel/file_systems/packagefs/package/Package.cpp +++ b/src/add-ons/kernel/file_systems/packagefs/package/Package.cpp @@ -649,7 +649,8 @@ Package::Open() } // open the file - fFD = openat(fPackagesDirectory->DirectoryFD(), fFileName, O_RDONLY); + fFD = openat(fPackagesDirectory->DirectoryFD(), fFileName, + O_RDONLY | O_NOCACHE); if (fFD < 0) { ERROR("Failed to open package file \"%s\": %s\n", fFileName.Data(), strerror(errno));