[Intel-gfx] [PATCH i-g-t] lib: Do two writes to /proc/sys/vm/drop_caches again
Petri Latvala
petri.latvala at intel.com
Tue Sep 27 09:22:12 UTC 2016
The drop_caches sysctl has a max value of 4, so writing 7 to it just
fails. Avoid the earlier two-writes problem by opening the fd twice.
v2: Don't lseek(), open() twice. (Chris)
Signed-off-by: Petri Latvala <petri.latvala at intel.com>
---
lib/intel_os.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/lib/intel_os.c b/lib/intel_os.c
index b9f970d..e448bb4 100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -299,11 +299,20 @@ void intel_purge_vm_caches(void)
if (fd < 0)
return;
+ /* BIT(2): Be quiet. Cannot be combined with other operations,
+ * the sysctl has a max value of 4.
+ */
+ igt_ignore_warn(write(fd, "4\n", 2));
+ close(fd);
+
+ fd = open("/proc/sys/vm/drop_caches", O_WRONLY);
+ if (fd < 0)
+ return;
+
/* BIT(0): Drop page cache
* BIT(1): Drop slab cache
- * BIT(2): Be quiet in future
*/
- igt_ignore_warn(write(fd, "7\n", 2));
+ igt_ignore_warn(write(fd, "3\n", 2));
close(fd);
}
--
2.9.3
More information about the Intel-gfx
mailing list