[igt-dev] [PATCH i-g-t 2/9] tests/gem_ctx_persistence: Adopt to use allocator
Dixit, Ashutosh
ashutosh.dixit at intel.com
Fri Aug 13 20:43:38 UTC 2021
On Fri, 13 Aug 2021 00:46:56 -0700, Zbigniew Kempczyński wrote:
>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
But please check and fix below.
> @@ -703,12 +739,16 @@ static void test_process(int i915)
>
> igt_fork(child, 1) {
> igt_spin_t *spin;
> + uint64_t ahnd;
>
> + intel_allocator_init();
> i915 = gem_reopen_driver(i915);
> gem_quiescent_gpu(i915);
>
> gem_context_set_persistence(i915, 0, false);
> - spin = igt_spin_new(i915, .flags = IGT_SPIN_FENCE_OUT);
> + ahnd = get_reloc_ahnd(i915, 0);
> + spin = igt_spin_new(i915, .ahnd = ahnd,
> + .flags = IGT_SPIN_FENCE_OUT);
> sendfd(sv[0], spin->out_fence);
>
> igt_list_del(&spin->link); /* prevent autocleanup */
Missing put_ahnd?
> @@ -747,12 +787,16 @@ static void test_userptr(int i915)
>
> igt_fork(child, 1) {
> igt_spin_t *spin;
> + uint64_t ahnd;
>
> + intel_allocator_init();
> i915 = gem_reopen_driver(i915);
> gem_quiescent_gpu(i915);
>
> gem_context_set_persistence(i915, 0, false);
> - spin = igt_spin_new(i915, .flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_USERPTR);
> + ahnd = get_reloc_ahnd(i915, 0);
> + spin = igt_spin_new(i915, .ahnd = ahnd,
> + .flags = IGT_SPIN_FENCE_OUT | IGT_SPIN_USERPTR);
> sendfd(sv[0], spin->out_fence);
>
> igt_list_del(&spin->link); /* prevent autocleanup */
Missing put_ahnd?
> @@ -795,9 +839,12 @@ static void test_process_mixed(int pfd, const intel_ctx_cfg_t *cfg,
> for (int persists = 0; persists <= 1; persists++) {
> igt_spin_t *spin;
> const intel_ctx_t *ctx;
> + uint64_t ahnd;
>
> + intel_allocator_init();
> ctx = ctx_create_persistence(i915, cfg, persists);
> - spin = igt_spin_new(i915, .ctx = ctx,
> + ahnd = get_reloc_ahnd(i915, ctx->id);
> + spin = igt_spin_new(i915, .ahnd = ahnd, .ctx = ctx,
> .engine = engine,
> .flags = IGT_SPIN_FENCE_OUT);
Missing put_ahnd?
> static void test_processes(int i915)
> @@ -912,11 +963,15 @@ static void test_processes(int i915)
> igt_fork(child, 1) {
> igt_spin_t *spin;
> int pid;
> + uint64_t ahnd;
>
> + intel_allocator_init();
> i915 = gem_reopen_driver(i915);
> gem_context_set_persistence(i915, 0, i);
>
> - spin = igt_spin_new(i915, .flags = IGT_SPIN_FENCE_OUT);
> + ahnd = get_reloc_ahnd(i915, 0);
> + spin = igt_spin_new(i915, .ahnd = ahnd,
> + .flags = IGT_SPIN_FENCE_OUT);
> /* prevent autocleanup */
> igt_list_del(&spin->link);
Missing put_ahnd?
> @@ -1256,9 +1316,21 @@ igt_main
>
> igt_subtest("many-contexts")
> many_contexts(i915, &ctx->cfg);
> + }
> +
> + igt_subtest_group {
> + igt_fixture {
> + gem_require_contexts(i915);
> + intel_allocator_multiprocess_start();
> + }
>
> igt_subtest("smoketest")
> smoketest(i915, &ctx->cfg);
> +
> + igt_fixture {
> + intel_allocator_multiprocess_stop();
> + }
> +
Also, why are we not putting intel_allocator_multiprocess_start/stop around
the multiprocess tests above? Is that because they all do "igt_fork(child, 1)"?
At least test_processes() seems to be creating multiple child processes. Thanks.
More information about the igt-dev
mailing list