From a1a8aa16fb4e27a267f4ac12883419114a020dd7 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 5 Jun 2014 13:19:39 +0100 Subject: igt/gem_evict_everything: Compute number of surfaces to saturate the aperture The goal is to only fill the aperture, not all of memory, so fine-tune the computed number of surfaces, hopefully avoiding an integer overflow in the process. References: https://bugs.freedesktop.org/show_bug.cgi?id=79573 Signed-off-by: Chris Wilson --- tests/eviction_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/eviction_common.c') diff --git a/tests/eviction_common.c b/tests/eviction_common.c index f02326b0..6c6eab46 100644 --- a/tests/eviction_common.c +++ b/tests/eviction_common.c @@ -74,9 +74,9 @@ static int minor_evictions(int fd, struct igt_eviction_test_ops *ops, nr_surfaces *= 7; nr_surfaces += 3; - total_surfaces = (uint64_t)intel_get_total_ram_mb() * 9 /10 * 1024 *1024 / surface_size; + total_surfaces = gem_aperture_size(fd) / surface_size + 1; igt_require(nr_surfaces < total_surfaces); - igt_require(total_surfaces * surface_size > gem_aperture_size(fd)); + igt_require(intel_check_memory(total_surfaces, surface_size, CHECK_RAM)); bo = malloc((nr_surfaces + total_surfaces)*sizeof(*bo)); igt_assert(bo); -- cgit v1.2.3