Refactor the allocation such that we utilise just enough memory pressure to invoke the shrinker, and just enough processes to spread across the CPUs and contend on the shrinker. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- tests/i915/gem_shrink.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/i915/gem_shrink.c b/tests/i915/gem_shrink.c index dba62c8fa..fd75d9427 100644 --- a/tests/i915/gem_shrink.c +++ b/tests/i915/gem_shrink.c @@ -426,6 +426,7 @@ igt_main int num_processes = 0; igt_fixture { + const int ncpus = sysconf(_SC_NPROCESSORS_ONLN); uint64_t mem_size = intel_get_total_ram_mb(); int fd; @@ -434,13 +435,13 @@ igt_main /* * Spawn enough processes to use all memory, but each only - * uses half the available mappable aperture ~128MiB. + * uses half of the available per-cpu memory. * Individually the processes would be ok, but en masse * we expect the shrinker to start purging objects, * and possibly fail. */ - alloc_size = gem_mappable_aperture_size() / 2; - num_processes = 1 + (mem_size / (alloc_size >> 20)); + alloc_size = mem_size / ncpus / 2; + num_processes = ncpus + (mem_size / (alloc_size >> 20)); igt_info("Using %d processes and %'lluMiB per process\n", num_processes, (long long)(alloc_size >> 20)); -- 2.29.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx