gem_tiled_swapping: Purge all page/swap caches first
[platform/upstream/intel-gpu-tools.git] / tests / gem_tiled_swapping.c
index e8fcc7e..aecd543 100644 (file)
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <sys/ioctl.h>
-#include "drm.h"
-#include "i915_drm.h"
+
+#include <drm.h>
+
+#include "ioctl_wrappers.h"
 #include "drmtest.h"
-#include "intel_gpu_tools.h"
+#include "intel_io.h"
+#include "igt_aux.h"
 
 #define WIDTH 512
 #define HEIGHT 512
@@ -99,17 +102,25 @@ igt_simple_main
        current_tiling_mode = I915_TILING_X;
 
        igt_skip_on_simulation();
+       intel_purge_vm_caches();
 
        fd = drm_open_any();
-       /* need slightly more than total ram */
-       count = intel_get_total_ram_mb() * 11 / 10;
+       /* need slightly more than available memory */
+       count = intel_get_total_ram_mb() + intel_get_total_swap_mb() / 4;
        bo_handles = calloc(count, sizeof(uint32_t));
        igt_assert(bo_handles);
 
        idx_arr = calloc(count, sizeof(int));
        igt_assert(idx_arr);
 
-       igt_require(intel_get_total_ram_mb() / 4 < intel_get_total_swap_mb());
+       igt_log(IGT_LOG_INFO,
+               "Using %d 1MiB objects (available RAM: %ld/%ld, swap: %ld)\n",
+               count,
+               (long)intel_get_avail_ram_mb(),
+               (long)intel_get_total_ram_mb(),
+               (long)intel_get_total_swap_mb());
+
+       igt_require(count < intel_get_avail_ram_mb() + intel_get_total_swap_mb());
 
        for (i = 0; i < count; i++) {
                bo_handles[i] = create_bo_and_fill(fd);