From 1a9fa8fd12c78236b1eb4a83062cd8f732c7abb3 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Sun, 22 Jan 2012 19:24:48 +0100 Subject: [PATCH] lib: add intel_get_total_swap_mb Test that try to exercise the swap paths need to check whether swap is available, otherwise they'll just oom. Signed-Off-by: Daniel Vetter --- lib/intel_drm.c | 21 +++++++++++++++++++++ lib/intel_gpu_tools.h | 1 + 2 files changed, 22 insertions(+) diff --git a/lib/intel_drm.c b/lib/intel_drm.c index f8eca7d..9e25448 100644 --- a/lib/intel_drm.c +++ b/lib/intel_drm.c @@ -106,3 +106,24 @@ intel_get_total_ram_mb(void) return retval / (1024*1024); } + +uint64_t +intel_get_total_swap_mb(void) +{ + uint64_t retval; + +#ifdef HAVE_STRUCT_SYSINFO_TOTALRAM /* Linux */ + struct sysinfo sysinf; + int ret; + + ret = sysinfo(&sysinf); + assert(ret == 0); + + retval = sysinf.totalswap; + retval *= sysinf.mem_unit; +#else +#error "Unknown how to get swap size for this OS" +#endif + + return retval / (1024*1024); +} diff --git a/lib/intel_gpu_tools.h b/lib/intel_gpu_tools.h index f2134bf..f46abfa 100644 --- a/lib/intel_gpu_tools.h +++ b/lib/intel_gpu_tools.h @@ -81,6 +81,7 @@ struct pci_device *intel_get_pci_device(void); uint32_t intel_get_drm_devid(int fd); int intel_gen(uint32_t devid); uint64_t intel_get_total_ram_mb(void); +uint64_t intel_get_total_swap_mb(void); void intel_map_file(char *); -- 2.7.4