lib/intel_os: Squelch dmesg spam when purging VM caches

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2016-03-18 11:32:04 +00:00
parent 4eba8e22fa
commit a8a685f877

View File

@ -64,11 +64,8 @@ intel_get_total_ram_mb(void)
#ifdef HAVE_STRUCT_SYSINFO_TOTALRAM /* Linux */ #ifdef HAVE_STRUCT_SYSINFO_TOTALRAM /* Linux */
struct sysinfo sysinf; struct sysinfo sysinf;
int ret;
ret = sysinfo(&sysinf);
igt_assert(ret == 0);
igt_assert(sysinfo(&sysinf) == 0);
retval = sysinf.totalram; retval = sysinf.totalram;
retval *= sysinf.mem_unit; retval *= sysinf.mem_unit;
#elif defined(_SC_PAGESIZE) && defined(_SC_PHYS_PAGES) /* Solaris */ #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 */ #ifdef HAVE_STRUCT_SYSINFO_TOTALRAM /* Linux */
struct sysinfo sysinf; struct sysinfo sysinf;
int fd, ret;
fd = open("/proc/sys/vm/drop_caches", O_RDWR); intel_purge_vm_caches();
if (fd != -1) {
ret = write(fd, "3\n", 2);
close(fd);
(void)ret;
}
ret = sysinfo(&sysinf);
igt_assert(ret == 0);
igt_assert(sysinfo(&sysinf) == 0);
retval = sysinf.freeram; retval = sysinf.freeram;
retval *= sysinf.mem_unit; retval *= sysinf.mem_unit;
#elif defined(_SC_PAGESIZE) && defined(_SC_AVPHYS_PAGES) /* Solaris */ #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 */ #ifdef HAVE_STRUCT_SYSINFO_TOTALRAM /* Linux */
struct sysinfo sysinf; struct sysinfo sysinf;
int ret;
ret = sysinfo(&sysinf);
igt_assert(ret == 0);
igt_assert(sysinfo(&sysinf) == 0);
retval = sysinf.freeswap; retval = sysinf.freeswap;
retval *= sysinf.mem_unit; retval *= sysinf.mem_unit;
#elif defined(HAVE_SWAPCTL) /* Solaris */ #elif defined(HAVE_SWAPCTL) /* Solaris */
@ -284,13 +270,18 @@ void intel_require_memory(uint64_t count, uint64_t size, unsigned mode)
void void
intel_purge_vm_caches(void) intel_purge_vm_caches(void)
{ {
static int once;
int fd; int fd;
fd = open("/proc/sys/vm/drop_caches", O_RDWR); fd = open("/proc/sys/vm/drop_caches", O_RDWR);
if (fd < 0) if (fd < 0)
return; 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); close(fd);
} }