summaryrefslogtreecommitdiff
path: root/lib/intel_os.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-03-18 11:32:04 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2016-03-18 11:44:06 +0000
commita8a685f877c013c3e5b1f33a5e2201aa436eeffc (patch)
treeeab3c100ec9e2247c93eb84b34cd2257fa86fe1d /lib/intel_os.c
parent4eba8e22fa738ddf2cd8c367a1a36ee03f20fec7 (diff)
lib/intel_os: Squelch dmesg spam when purging VM caches
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/intel_os.c')
-rw-r--r--lib/intel_os.c29
1 files changed, 10 insertions, 19 deletions
diff --git a/lib/intel_os.c b/lib/intel_os.c
index 2b0f0917..90b30210 100644
--- a/lib/intel_os.c
+++ b/lib/intel_os.c
@@ -64,11 +64,8 @@ intel_get_total_ram_mb(void)
#ifdef HAVE_STRUCT_SYSINFO_TOTALRAM /* Linux */
struct sysinfo sysinf;
- int ret;
-
- ret = sysinfo(&sysinf);
- igt_assert(ret == 0);
+ igt_assert(sysinfo(&sysinf) == 0);
retval = sysinf.totalram;
retval *= sysinf.mem_unit;
#elif defined(_SC_PAGESIZE) && defined(_SC_PHYS_PAGES) /* Solaris */
@@ -98,18 +95,10 @@ intel_get_avail_ram_mb(void)
#ifdef HAVE_STRUCT_SYSINFO_TOTALRAM /* Linux */
struct sysinfo sysinf;
- int fd, ret;
-
- fd = open("/proc/sys/vm/drop_caches", O_RDWR);
- if (fd != -1) {
- ret = write(fd, "3\n", 2);
- close(fd);
- (void)ret;
- }
- ret = sysinfo(&sysinf);
- igt_assert(ret == 0);
+ intel_purge_vm_caches();
+ igt_assert(sysinfo(&sysinf) == 0);
retval = sysinf.freeram;
retval *= sysinf.mem_unit;
#elif defined(_SC_PAGESIZE) && defined(_SC_AVPHYS_PAGES) /* Solaris */
@@ -139,11 +128,8 @@ intel_get_total_swap_mb(void)
#ifdef HAVE_STRUCT_SYSINFO_TOTALRAM /* Linux */
struct sysinfo sysinf;
- int ret;
-
- ret = sysinfo(&sysinf);
- igt_assert(ret == 0);
+ igt_assert(sysinfo(&sysinf) == 0);
retval = sysinf.freeswap;
retval *= sysinf.mem_unit;
#elif defined(HAVE_SWAPCTL) /* Solaris */
@@ -284,13 +270,18 @@ void intel_require_memory(uint64_t count, uint64_t size, unsigned mode)
void
intel_purge_vm_caches(void)
{
+ static int once;
int fd;
fd = open("/proc/sys/vm/drop_caches", O_RDWR);
if (fd < 0)
return;
- igt_assert_eq(write(fd, "3\n", 2), 2);
+ if (!once) {
+ igt_assert_eq(write(fd, "4\n", 2), 2); /* Be quiet! */
+ once = 1;
+ }
+ igt_assert_eq(write(fd, "3\n", 2), 2); /* Drop page/slab caches */
close(fd);
}