diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-01-22 19:24:48 +0100 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-01-22 19:24:48 +0100 |
commit | 1a9fa8fd12c78236b1eb4a83062cd8f732c7abb3 (patch) | |
tree | d5737d849a4a2c338d0cf5d9e682650f61fbe8c1 | |
parent | 7132d0f977d226969b47edafbed74a6de04465f9 (diff) |
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 <daniel.vetter@ffwll.ch>
-rw-r--r-- | lib/intel_drm.c | 21 | ||||
-rw-r--r-- | lib/intel_gpu_tools.h | 1 |
2 files changed, 22 insertions, 0 deletions
diff --git a/lib/intel_drm.c b/lib/intel_drm.c index f8eca7d8..9e25448a 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 f2134bf6..f46abfa8 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 *); |