[Intel-gfx] [PATCH igt] igt/gem_evict_(alignment, everything): Limit to low 4G
Chris Wilson
chris at chris-wilson.co.uk
Thu Sep 7 18:15:24 UTC 2017
Quoting Chris Wilson (2017-08-15 11:34:30)
> These tests do not tell the kernel they can use the upper 48bits of
> aperture space, and cause eviction on the low 4G just as effectively
> exercising the evict code.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
* Crickets.
> ---
> tests/gem_evict_alignment.c | 35 +++++++++++++++++++++++++++++------
> tests/gem_evict_everything.c | 33 +++++++++++++++++++++++++++------
> 2 files changed, 56 insertions(+), 12 deletions(-)
>
> diff --git a/tests/gem_evict_alignment.c b/tests/gem_evict_alignment.c
> index a5dfd0d9..8e6180bb 100644
> --- a/tests/gem_evict_alignment.c
> +++ b/tests/gem_evict_alignment.c
> @@ -196,29 +196,46 @@ igt_main
> igt_fixture {
> fd = drm_open_driver(DRIVER_INTEL);
> igt_require_gem(fd);
> + igt_fork_hang_detector(fd);
> }
>
> igt_subtest("minor-normal") {
> size = 1024 * 1024;
> - count = 3*gem_aperture_size(fd) / size / 4;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = 1 << 32;
> + count = 3 * count / size / 4;
> minor_evictions(fd, size, count);
> }
>
> igt_subtest("major-normal") {
> - size = 3*gem_aperture_size(fd) / 4;
> + size = gem_aperture_size(fd);
> + if (size >> 32)
> + size = 1 << 32;
> + size = 3 * size / 4;
> count = 4;
> major_evictions(fd, size, count);
> }
>
> + igt_fixture {
> + igt_stop_hang_detector();
> + }
> +
> igt_fork_signal_helper();
> igt_subtest("minor-interruptible") {
> size = 1024 * 1024;
> - count = 3*gem_aperture_size(fd) / size / 4;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = 1 << 32;
> + count = 3 * count / size / 4;
> minor_evictions(fd, size, count);
> }
>
> igt_subtest("major-interruptible") {
> - size = 3*gem_aperture_size(fd) / 4;
> + size = gem_aperture_size(fd);
> + if (size >> 32)
> + size = 1 << 32;
> + size = 3 * size / 4;
> count = 4;
> major_evictions(fd, size, count);
> }
> @@ -226,12 +243,18 @@ igt_main
> igt_subtest("minor-hang") {
> igt_fork_hang_helper();
> size = 1024 * 1024;
> - count = 3*gem_aperture_size(fd) / size / 4;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = 1 << 32;
> + count = 3 * count / size / 4;
> minor_evictions(fd, size, count);
> }
>
> igt_subtest("major-hang") {
> - size = 3*gem_aperture_size(fd) / 4;
> + size = gem_aperture_size(fd);
> + if (size >> 32)
> + size = 1 << 32;
> + size = 3 * size / 4;
> count = 4;
> major_evictions(fd, size, count);
> }
> diff --git a/tests/gem_evict_everything.c b/tests/gem_evict_everything.c
> index 2f93cde1..6aec7c18 100644
> --- a/tests/gem_evict_everything.c
> +++ b/tests/gem_evict_everything.c
> @@ -185,7 +185,12 @@ igt_main
> igt_require_gem(fd);
>
> size = 1024 * 1024;
> - count = 3*gem_aperture_size(fd) / size / 4;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = 1 << 32;
> + count = 3 * count / size / 4;
> +
> + igt_fork_hang_detector(fd);
> }
>
> for (unsigned flags = 0; flags < ALL_FORKING_EVICTIONS + 1; flags++) {
> @@ -210,14 +215,20 @@ igt_main
> test_minor_evictions(fd, size, count);
>
> igt_subtest("major-normal") {
> - size = 3*gem_aperture_size(fd) / 4;
> + size = gem_aperture_size(fd);
> + if (size >> 32)
> + size = 1 << 32;
> + size = 3 * size / 4;
> count = 4;
> test_major_evictions(fd, size, count);
> }
>
> igt_fixture {
> size = 1024 * 1024;
> - count = 3*gem_aperture_size(fd) / size / 4;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = 1 << 32;
> + count = 3 * count / size / 4;
> }
>
> igt_fork_signal_helper();
> @@ -232,16 +243,23 @@ igt_main
> test_minor_evictions(fd, size, count);
>
> igt_subtest("major-interruptible") {
> - size = 3*gem_aperture_size(fd) / 4;
> + size = gem_aperture_size(fd);
> + if (size >> 32)
> + size = 1 << 32;
> + size = 3 * size / 4;
> count = 4;
> test_major_evictions(fd, size, count);
> }
>
> igt_fixture {
> + igt_stop_hang_detector();
> igt_fork_hang_helper();
>
> size = 1024 * 1024;
> - count = 3*gem_aperture_size(fd) / size / 4;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = 1 << 32;
> + count = 3 * count / size / 4;
> }
>
> igt_subtest("mlocked-hang")
> @@ -254,7 +272,10 @@ igt_main
> test_minor_evictions(fd, size, count);
>
> igt_subtest("major-hang") {
> - size = 3*gem_aperture_size(fd) / 4;
> + size = gem_aperture_size(fd);
> + if (size >> 32)
> + size = 1 << 32;
> + size = 3 * size / 4;
> count = 4;
> test_major_evictions(fd, size, count);
> }
> --
> 2.13.3
>
More information about the Intel-gfx
mailing list