[igt-dev] [PATCH i-g-t] i915/gem_mmap_gtt: Replace forked-mmaped tests with a lighter variant
Chris Wilson
chris at chris-wilson.co.uk
Tue Sep 17 13:09:13 UTC 2019
Introduce a new 2-process fork test that is bound to a single cpu to
exercise contention during pagefaults. This is a much lighter variant of
the all-cpus test intended to be viable even on the legendary frozen
lakes of molasses.
References: https://bugs.freedesktop.org/show_bug.cgi?id=110882
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
Cc: Martin Peres <martin.peres at linux.intel.com>
---
tests/i915/gem_mmap_gtt.c | 36 +++++++++++++++++++++++++-----------
tests/intel-ci/blacklist.txt | 2 +-
2 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/tests/i915/gem_mmap_gtt.c b/tests/i915/gem_mmap_gtt.c
index ac439cdf8..0428a1372 100644
--- a/tests/i915/gem_mmap_gtt.c
+++ b/tests/i915/gem_mmap_gtt.c
@@ -792,9 +792,6 @@ test_huge_copy(int fd, int huge, int tiling_a, int tiling_b, int ncpus)
uint64_t huge_object_size, i;
unsigned mode = CHECK_RAM;
- igt_fail_on_f(intel_gen(devid) >= 11 && ncpus > 1,
- "Please adjust your expectations, https://bugs.freedesktop.org/show_bug.cgi?id=110882\n");
-
switch (huge) {
case -2:
huge_object_size = gem_mappable_aperture_size() / 4;
@@ -1138,17 +1135,34 @@ igt_main
for (const struct copy_mode *m = copy_modes; m->suffix; m++) {
igt_subtest_f("%s-copy%s", s->prefix, m->suffix)
test_huge_copy(fd,
- s->size,
- m->tiling_x,
- m->tiling_y,
- 1);
+ s->size,
+ m->tiling_x,
+ m->tiling_y,
+ 1);
+
+ igt_subtest_f("cpuset-%s-copy%s", s->prefix, m->suffix) {
+ cpu_set_t cpu, old;
+
+ sched_getaffinity(0, sizeof(old), &old);
+
+ CPU_ZERO(&cpu);
+ CPU_SET(0, &cpu);
+ igt_assert(sched_setaffinity(0, sizeof(cpu), &cpu) == 0);
+ test_huge_copy(fd,
+ s->size,
+ m->tiling_x,
+ m->tiling_y,
+ 2);
+
+ igt_assert(sched_setaffinity(0, sizeof(old), &old) == 0);
+ }
igt_subtest_f("forked-%s-copy%s", s->prefix, m->suffix)
test_huge_copy(fd,
- s->size,
- m->tiling_x,
- m->tiling_y,
- ncpus);
+ s->size,
+ m->tiling_x,
+ m->tiling_y,
+ ncpus);
}
}
diff --git a/tests/intel-ci/blacklist.txt b/tests/intel-ci/blacklist.txt
index 8e3dafa98..5fa91105f 100644
--- a/tests/intel-ci/blacklist.txt
+++ b/tests/intel-ci/blacklist.txt
@@ -47,7 +47,7 @@ igt at gem_gtt_hog(@.*)?
igt at gem_gtt_speed(@.*)?
igt at gem_hangcheck_forcewake(@.*)?
igt at gem_lut_handle(@.*)?
-igt at gem_mmap_gtt@.*(huge|swap|clflush).*
+igt at gem_mmap_gtt@.*(huge|swap|clflush|forked).*
igt at gem_mmap@.*(swap|huge).*
igt at gem_mocs_settings@.*(suspend|hibernate).*
igt at gem_pin(@.*)?
--
2.23.0
More information about the igt-dev
mailing list