the reloc, pread, pwrite slow path will be prevented by prefault, these subtests will disable prefault first, then do reloc, pread, pwrite, finally enable prefault. Signed-off-by: Xiong Zhang <xiong.y.zhang@xxxxxxxxx> --- tests/gem_exec_faulting_reloc.c | 10 +++++++++- tests/gem_mmap_gtt.c | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/tests/gem_exec_faulting_reloc.c b/tests/gem_exec_faulting_reloc.c index 863a1b0..c7f7b6b 100644 --- a/tests/gem_exec_faulting_reloc.c +++ b/tests/gem_exec_faulting_reloc.c @@ -220,7 +220,15 @@ static void run(int object_size) int main(int argc, char **argv) { - run(OBJECT_SIZE); + drmtest_subtest_init(argc, argv); + + if (drmtest_run_subtest("normal")) + run(OBJECT_SIZE); + if (drmtest_run_subtest("no-prefault")) { + drmtest_disable_prefault(); + run(OBJECT_SIZE); + drmtest_enable_prefault(); + } return 0; } diff --git a/tests/gem_mmap_gtt.c b/tests/gem_mmap_gtt.c index d759340..0e1b195 100644 --- a/tests/gem_mmap_gtt.c +++ b/tests/gem_mmap_gtt.c @@ -144,6 +144,15 @@ test_read(int fd) munmap(dst, OBJECT_SIZE); } +static void +run_without_prefault(int fd, + void (*func)(int fd)) +{ + drmtest_disable_prefault(); + func(fd); + drmtest_enable_prefault(); +} + int main(int argc, char **argv) { int fd; @@ -160,6 +169,12 @@ int main(int argc, char **argv) test_write(fd); if (drmtest_run_subtest("write-gtt")) test_write_gtt(fd); + if (drmtest_run_subtest("read-no-prefault")) + run_without_prefault(fd, test_read); + if (drmtest_run_subtest("write-no-prefault")) + run_without_prefault(fd, test_write); + if (drmtest_run_subtest("write-gtt-no-prefault")) + run_without_prefault(fd, test_write_gtt); close(fd); -- 1.8.3.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx