[Intel-gfx] [PATCH igt v2] igt/gem_linear_blits: Compute GTT size using 4G limit
Chris Wilson
chris at chris-wilson.co.uk
Fri Dec 15 12:22:01 UTC 2017
Quoting Chris Wilson (2017-09-13 11:39:14)
> Both gem_linear_blits and gem_tiled_blit do not request the full 48b
> GTT layout for their objects, restricting themselves to 4G. The
> underlying test that they trigger eviction is unaffected by this
> restriction, so we can simply reduce their memory requirements to fill
> the low 4G GTT space and so allow them to run on 48b machines.
>
> v2: gem_tiled_fenced_blits as well
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Ping ?
> ---
> tests/gem_linear_blits.c | 18 ++++++++++++++----
> tests/gem_tiled_blits.c | 16 ++++++++++++----
> tests/gem_tiled_fence_blits.c | 11 +++++++++--
> 3 files changed, 35 insertions(+), 10 deletions(-)
>
> diff --git a/tests/gem_linear_blits.c b/tests/gem_linear_blits.c
> index eccfbcdd..8297416c 100644
> --- a/tests/gem_linear_blits.c
> +++ b/tests/gem_linear_blits.c
> @@ -215,6 +215,8 @@ static void run_test(int fd, int count)
> free(handle);
> }
>
> +#define MAX_32b ((1ull << 32) - 4096)
> +
> int main(int argc, char **argv)
> {
> int fd = 0;
> @@ -230,20 +232,28 @@ int main(int argc, char **argv)
> run_test(fd, 2);
>
> igt_subtest("normal") {
> - int count;
> + uint64_t count;
>
> - count = 3 * gem_aperture_size(fd) / (1024*1024) / 2;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = MAX_32b;
> + count = 3 * count / (1024*1024) / 2;
> igt_require(count > 1);
> intel_require_memory(count, sizeof(linear), CHECK_RAM);
> +
> run_test(fd, count);
> }
>
> igt_subtest("interruptible") {
> - int count;
> + uint64_t count;
>
> - count = 3 * gem_aperture_size(fd) / (1024*1024) / 2;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = MAX_32b;
> + count = 3 * count / (1024*1024) / 2;
> igt_require(count > 1);
> intel_require_memory(count, sizeof(linear), CHECK_RAM);
> +
> igt_fork_signal_helper();
> run_test(fd, count);
> igt_stop_signal_helper();
> diff --git a/tests/gem_tiled_blits.c b/tests/gem_tiled_blits.c
> index 7dcfc962..a81226a1 100644
> --- a/tests/gem_tiled_blits.c
> +++ b/tests/gem_tiled_blits.c
> @@ -192,6 +192,8 @@ static void run_test(int count)
> free(bo);
> }
>
> +#define MAX_32b ((1ull << 32) - 4096)
> +
> int fd;
>
> int main(int argc, char **argv)
> @@ -212,9 +214,12 @@ int main(int argc, char **argv)
> run_test(2);
>
> igt_subtest("normal") {
> - int count;
> + uint64_t count;
>
> - count = 3 * gem_aperture_size(fd) / (1024*1024) / 2;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = MAX_32b;
> + count = 3 * count / (1024*1024) / 2;
> count += (count & 1) == 0;
> intel_require_memory(count, 1024*1024, CHECK_RAM);
>
> @@ -222,9 +227,12 @@ int main(int argc, char **argv)
> }
>
> igt_subtest("interruptible") {
> - int count;
> + uint64_t count;
>
> - count = 3 * gem_aperture_size(fd) / (1024*1024) / 2;
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = MAX_32b;
> + count = 3 * count / (1024*1024) / 2;
> count += (count & 1) == 0;
> intel_require_memory(count, 1024*1024, CHECK_RAM);
>
> diff --git a/tests/gem_tiled_fence_blits.c b/tests/gem_tiled_fence_blits.c
> index eb6473bc..51f672fd 100644
> --- a/tests/gem_tiled_fence_blits.c
> +++ b/tests/gem_tiled_fence_blits.c
> @@ -160,9 +160,11 @@ static void run_test (int fd, int count)
> drm_intel_bufmgr_destroy(bufmgr);
> }
>
> +#define MAX_32b ((1ull << 32) - 4096)
> +
> igt_main
> {
> - int fd, count;
> + int fd;
>
> igt_fixture {
> fd = drm_open_driver(DRIVER_INTEL);
> @@ -177,7 +179,12 @@ igt_main
> igt_skip_on_simulation();
>
> igt_subtest("normal") {
> - count = 3 * gem_aperture_size(fd) / (bo_size) / 2;
> + uint64_t count;
> +
> + count = gem_aperture_size(fd);
> + if (count >> 32)
> + count = MAX_32b;
> + count = 3 * count / bo_size / 2;
> intel_require_memory(count, bo_size, CHECK_RAM);
> run_test(fd, count);
> }
> --
> 2.14.1
>
More information about the Intel-gfx
mailing list