All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Ekstrand <jason@jlekstrand.net>
To: IGT GPU Tools <igt-dev@lists.freedesktop.org>
Cc: Daniel Vetter <daniel@ffwll.ch>
Subject: Re: [igt-dev] [PATCH i-g-t 00/74] Stop depending on context mutation
Date: Tue, 13 Apr 2021 11:19:08 -0500	[thread overview]
Message-ID: <CAOFGe95yFQKWsYr2DN_gfN1zOuDVn1-a80ZK=+=XD2YUDy2ddA@mail.gmail.com> (raw)
In-Reply-To: <20210413035350.261794-1-jason@jlekstrand.net>

I just rebased on top of the reloc/allocator stuff and sent to trybot again.

On Mon, Apr 12, 2021 at 10:53 PM Jason Ekstrand <jason@jlekstrand.net> wrote:
>
> I'm trying to clean up some of our uAPI technical debt in i915.  One of the
> biggest areas we have right now is context mutability.  There's no good
> reason why things like the set of engines or the VM should be able to be
> changed on the fly and no "real" userspace actually relies on this
> functionality.  It does, however, make for a good excuse for tests and lots
> of bug reports as things like swapping out the set of engines under load
> break randomly.  The solution here is to stop allowing that behavior and
> simplify the i915 internals.
>
> In particular, we'd like to remove the following from the i915 API:
>
>  1. I915_CONTEXT_CLONE_*.  These are only used by IGT and have never been
>     used by any "real" userspace.
>
>  2. Changing the VM or set of engines via SETPARAM after they've been
>     "used" by an execbuf or similar.  This would effectively make those
>     parameters create params rather than mutable state.  We can't drop
>     setparam entirely for those because media does use it but we can
>     enforce some rules.
>
>  3. Unused (by non-IGT userspace) GETPARAM for things like engines.
>
> As much as we'd love to do that, we have a bit of a problem in IGT.  The
> way we handle multi-engine testing today relies heavily on this soon-to-be-
> deprecated functionality.  In particular, the standard flow is usually
> something like this:
>
>     static void run_test1(int fd, uint32_t engine)
>     {
>         igt_spin_t *spin;
>
>         ctx = = gem_context_clone_with_engines(fd, 0);
>         __igt_spin_new(fd, ctx, .engine = engine);
>
>         /* do some testing with ctx */
>
>         igt_spin_free(fd, spin);
>         gem_destroy_context(fd, ctx);
>     }
>
>     igt_main
>     {
>         struct intel_execution_engine2 *e;
>
>         /* Usual fixture code */
>
>         __for_each_physical_engine(fd, e)
>             run_test1(fd, e->flags);
>
>         __for_each_physical_engine(fd, e)
>             run_test2(fd, e->flags);
>     }
>
> Let's walk through what this does:
>
>  1. __for_each_physical_engine calls intel_init_engine_list() which resets
>     the set of engines on ctx0 to the full set of engines available as per
>     the engine query.  On older kernels/hardware where we don't have the
>     engines query, it leaves the set alone.
>
>  2. intel_init_engine_list() also returns a set of engines for iteration
>     and __for_each_physical_engine() sets up a for loop to walk the set.
>
>  3. gem_context_clone_with_engines() creates a new context using
>     I915_CONTEXT_CONTEXT_CLONE_ENGINES (not used by anything other than
>     IGT) to ask that the newly created context has the same set of engines
>     as ctx0.  Remember we changed that at the start of loop iteration!
>
>  4. When the context is passed to __igt_spin_new(), it calls
>     gem_context_lookup_engine which does a GETPARAM to introspet the set of
>     engines on the context and figure out the engine class.
>
> If you've been keeping track, this trivial and extremely common example
> uses every single one of these soon-to-be-deprecated APIs even though the
> test author may be completely obvious to it.  It also means that getting
> rid of IGT's use of them is going to require some fairly deep surgery.
>
> The approach proposed and partially implemented here is to add a new
> wrapper struct intel_ctx_t which wraps a GEM context handle as well as the
> full set of parameters used to create it, represented by intel_ctx_cfg_t.
> We can then use the context anywhere we would regularly use a context, we
> just have to do ctx->id.  If we want to clone it, we can do so by re-using
> the create parameters by calling intel_ctx_create(fd, &old_ctx->cfg);
>
> Along with the above rework (which got long, sorry) I've got a few other
> patches in here which delete tests which exist expressly to test APIs that
> are on the chopping block.
>
> --Jason
>
>
> Cc: Daniel Vetter <daniel@ffwll.ch>
>
> Jason Ekstrand (74):
>   tests/i915: Drop gem_ctx_ringsize
>   tests/i915/gem_exec_balancer: Drop the ringsize subtest
>   tests/i915/gem_exec_endless: Stop setting the ring size
>   tests/i915/gem_ctx_param: Drop the zeromap subtests
>   tests/i915: Drop gem_ctx_clone
>   lib/i915/gem_engine_topology: Expose the __query_engines helper
>   lib/i915/gem_context: Add gem_context_create_ext helpers
>   lib: Add an intel_ctx wrapper struct and helpers (v2)
>   lib/i915/gem_engine_topology: Rework query_engine_list()
>   lib/i915/gem_engine_topology: Factor out static engine listing
>   lib/i915/gem_engine_topology: Add an iterator which doesn't munge
>     contexts
>   lib/i915/gem_engine_topology: Add an iterator for intel_ctx_t
>   tests/i915/gem_exec_basic: Convert to intel_ctx_t
>   lib/igt_spin: Rename igt_spin_factory::ctx to ctx_id
>   lib/igt_spin: Support intel_ctx_t
>   tests/i915/gem_exec_fence: Move the engine data into
>     inter_engine_context
>   tests/i915/gem_exec_fence: Convert to intel_ctx_t
>   tests/i915/gem_exec_schedule: Convert to intel_ctx_t
>   tests/i915/perf_pmu: Convert to intel_ctx_t
>   tests/i915/gem_exec_nop: Convert to intel_ctx_t
>   tests/i915/gem_exec_reloc: Convert to intel_ctx_t
>   tests/i915/gem_busy: Convert to intel_ctx_t
>   tests/i915/gem_ctx_isolation: Convert to intel_ctx_t
>   tests/i915/gem_exec_async: Convert to intel_ctx_t
>   tests/i915/sysfs_clients: Convert to intel_ctx_t
>   tests/i915/gem_exec_fair: Convert to intel_ctx_t
>   tests/i915/gem_spin_batch: Convert to intel_ctx_t
>   tests/i915/gem_exec_store: Convert to intel_ctx_t
>   tests/amdgpu/amd_prime: Convert to intel_ctx_t
>   tests/i915/i915_hangman: Convert to intel_ctx_t
>   tests/i915/gem_ringfill: Convert to intel_ctx_t
>   tests/prime_busy: Convert to intel_ctx_t
>   tests/prime_vgem: Convert to intel_ctx_t
>   tests/gem_exec_whisper: Convert to intel_ctx_t
>   tests/i915/gem_ctx_exec: Stop cloning contexts in close_race
>   tests/i915/gem_ctx_exec: Convert to intel_ctx_t
>   tests/i915/gem_exec_suspend: Convert to intel_ctx_t
>   tests/i915/gem_sync: Convert to intel_ctx_t
>   tests/i915/gem_userptr_blits: Convert to intel_ctx_t
>   tests/i915/gem_wait: Convert to intel_ctx_t
>   tests/i915/gem_request_retire: Convert to intel_ctx_t
>   tests/i915/gem_ctx_shared: Convert to intel_ctx_t
>   tests/i915/gem_ctx_shared: Stop cloning contexts
>   tests/i915/gem_create: Convert to intel_ctx_t
>   tests/i915/gem_ctx_switch: Convert to intel_ctx_t
>   tests/i915/gem_exec_parallel: Convert to intel_ctx_t
>   tests/i915/gem_exec_latency: Convert to intel_ctx_t
>   tests/i915/gem_watchdog: Convert to intel_ctx_t
>   tests/i915/gem_shrink: Convert to intel_ctx_t
>   tests/i915/gem_exec_params: Convert to intel_ctx_t
>   tests/i915/gem_exec_gttfill: Convert to intel_ctx_t
>   tests/i915/gem_exec_capture: Convert to intel_ctx_t
>   tests/i915/gem_exec_create: Convert to intel_ctx_t
>   tests/i915/gem_exec_await: Convert to intel_ctx_t
>   tests/i915/gem_ctx_persistence: Drop the clone subtest
>   tests/i915/gem_ctx_persistence: Drop the engine replace subtests
>   tests/i915/gem_ctx_persistence: Convert to intel_ctx_t
>   tests/i915/module_load: Convert to intel_ctx_t
>   tests/i915/pm_rc6_residency: Convert to intel_ctx_t
>   tests/i915/gem_cs_tlb: Convert to intel_ctx_t
>   tests/core_hotplug: Convert to intel_ctx_t
>   tests/i915/gem_exec_balancer: Stop cloning engines
>   tests/i915/gem_exec_balancer: Don't reset engines on a context
>   tests/i915/gem_exec_balancer: Stop munging ctx0 engines
>   tests/i915/gem_exec_endless: Stop munging ctx0 engines
>   lib/i915: Use for_each_physical_ring for submission tests
>   tests/i915/gem_ctx_engines: Rework execute-one*
>   tests/i915/gem_ctx_engines: Use better engine iteration
>   tests/i915/gem_ctx_engines: Drop the idempotent subtest
>   tests/i915/gem_ctx_create: Convert benchmarks to intel_ctx_t
>   lib/i915/gem_context: Delete all the context clone/copy stuff
>   tests/i915/gem_ctx_engines: Delete the libapi subtest
>   lib/igt_dummyload: Stop supporting ALL_ENGINES without an intel_ctx_t
>   lib/i915/gem_engine_topology: Delete the old physical engine iterators
>
>  lib/i915/gem_context.c             | 206 ++-----
>  lib/i915/gem_context.h             |  19 +-
>  lib/i915/gem_engine_topology.c     | 142 +++--
>  lib/i915/gem_engine_topology.h     |  29 +-
>  lib/i915/gem_submission.c          |  13 +-
>  lib/igt_dummyload.c                |  13 +-
>  lib/igt_dummyload.h                |   6 +-
>  lib/igt_gt.c                       |   2 +-
>  lib/intel_ctx.c                    | 177 ++++++
>  lib/intel_ctx.h                    | 112 ++++
>  lib/meson.build                    |   1 +
>  tests/amdgpu/amd_prime.c           |  10 +-
>  tests/core_hotunplug.c             |   6 +-
>  tests/i915/gem_busy.c              |  77 +--
>  tests/i915/gem_create.c            |  14 +-
>  tests/i915/gem_cs_tlb.c            |  10 +-
>  tests/i915/gem_ctx_clone.c         | 450 ---------------
>  tests/i915/gem_ctx_create.c        |  76 +--
>  tests/i915/gem_ctx_engines.c       | 239 ++------
>  tests/i915/gem_ctx_exec.c          |  19 +-
>  tests/i915/gem_ctx_isolation.c     | 112 ++--
>  tests/i915/gem_ctx_param.c         |  33 --
>  tests/i915/gem_ctx_persistence.c   | 435 ++++----------
>  tests/i915/gem_ctx_ringsize.c      | 345 ------------
>  tests/i915/gem_ctx_shared.c        | 335 ++++++-----
>  tests/i915/gem_ctx_switch.c        | 115 ++--
>  tests/i915/gem_eio.c               |   2 +-
>  tests/i915/gem_exec_async.c        |  32 +-
>  tests/i915/gem_exec_await.c        |  20 +-
>  tests/i915/gem_exec_balancer.c     | 293 ++++------
>  tests/i915/gem_exec_basic.c        |   7 +-
>  tests/i915/gem_exec_capture.c      |  30 +-
>  tests/i915/gem_exec_create.c       |   9 +-
>  tests/i915/gem_exec_endless.c      |  14 +-
>  tests/i915/gem_exec_fair.c         | 112 ++--
>  tests/i915/gem_exec_fence.c        | 302 +++++-----
>  tests/i915/gem_exec_gttfill.c      |  15 +-
>  tests/i915/gem_exec_latency.c      | 118 ++--
>  tests/i915/gem_exec_nop.c          | 156 ++---
>  tests/i915/gem_exec_parallel.c     |  29 +-
>  tests/i915/gem_exec_params.c       |   4 +-
>  tests/i915/gem_exec_reloc.c        | 102 ++--
>  tests/i915/gem_exec_schedule.c     | 876 +++++++++++++++--------------
>  tests/i915/gem_exec_store.c        |  36 +-
>  tests/i915/gem_exec_suspend.c      |  52 +-
>  tests/i915/gem_exec_whisper.c      |  83 ++-
>  tests/i915/gem_request_retire.c    |  17 +-
>  tests/i915/gem_ringfill.c          |  48 +-
>  tests/i915/gem_shrink.c            |  37 +-
>  tests/i915/gem_spin_batch.c        |  79 +--
>  tests/i915/gem_sync.c              | 159 +++---
>  tests/i915/gem_userptr_blits.c     |  25 +-
>  tests/i915/gem_vm_create.c         |   4 +-
>  tests/i915/gem_wait.c              |  20 +-
>  tests/i915/gem_watchdog.c          | 167 ++----
>  tests/i915/gem_workarounds.c       |   2 +-
>  tests/i915/i915_hangman.c          |  37 +-
>  tests/i915/i915_module_load.c      |   7 +-
>  tests/i915/i915_pm_rc6_residency.c |   7 +-
>  tests/i915/perf_pmu.c              | 226 ++++----
>  tests/i915/sysfs_clients.c         |  87 +--
>  tests/meson.build                  |   2 -
>  tests/prime_busy.c                 |  19 +-
>  tests/prime_vgem.c                 |  35 +-
>  64 files changed, 2785 insertions(+), 3481 deletions(-)
>  create mode 100644 lib/intel_ctx.c
>  create mode 100644 lib/intel_ctx.h
>  delete mode 100644 tests/i915/gem_ctx_clone.c
>  delete mode 100644 tests/i915/gem_ctx_ringsize.c
>
> --
> 2.31.1
>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  parent reply	other threads:[~2021-04-13 16:19 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-13  3:52 [igt-dev] [PATCH i-g-t 00/74] Stop depending on context mutation Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 01/74] tests/i915: Drop gem_ctx_ringsize Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 02/74] tests/i915/gem_exec_balancer: Drop the ringsize subtest Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 03/74] tests/i915/gem_exec_endless: Stop setting the ring size Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 04/74] tests/i915/gem_ctx_param: Drop the zeromap subtests Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 05/74] tests/i915: Drop gem_ctx_clone Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 06/74] lib/i915/gem_engine_topology: Expose the __query_engines helper Jason Ekstrand
2021-04-15 16:06   ` Daniel Vetter
2021-04-15 16:55     ` Jason Ekstrand
2021-04-21 11:53       ` Daniel Vetter
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 07/74] lib/i915/gem_context: Add gem_context_create_ext helpers Jason Ekstrand
2021-04-15 16:07   ` Daniel Vetter
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 08/74] lib: Add an intel_ctx wrapper struct and helpers (v2) Jason Ekstrand
2021-04-15 15:46   ` [igt-dev] [PATCH i-g-t] lib: Add an intel_ctx wrapper struct and helpers (v3) Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 09/74] lib/i915/gem_engine_topology: Rework query_engine_list() Jason Ekstrand
2021-04-15 15:55   ` Daniel Vetter
2021-04-15 18:05     ` Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 10/74] lib/i915/gem_engine_topology: Factor out static engine listing Jason Ekstrand
2021-04-15 15:56   ` Daniel Vetter
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 11/74] lib/i915/gem_engine_topology: Add an iterator which doesn't munge contexts Jason Ekstrand
2021-04-15 15:59   ` Daniel Vetter
2021-04-15 18:50     ` Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 12/74] lib/i915/gem_engine_topology: Add an iterator for intel_ctx_t Jason Ekstrand
2021-04-15 16:05   ` Daniel Vetter
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 13/74] tests/i915/gem_exec_basic: Convert to intel_ctx_t Jason Ekstrand
2021-04-15 16:00   ` Daniel Vetter
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 14/74] lib/igt_spin: Rename igt_spin_factory::ctx to ctx_id Jason Ekstrand
2021-04-15 16:10   ` Daniel Vetter
2021-04-15 16:12   ` Daniel Vetter
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 15/74] lib/igt_spin: Support intel_ctx_t Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 16/74] tests/i915/gem_exec_fence: Move the engine data into inter_engine_context Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 17/74] tests/i915/gem_exec_fence: Convert to intel_ctx_t Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 18/74] tests/i915/gem_exec_schedule: " Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 19/74] tests/i915/perf_pmu: " Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 20/74] tests/i915/gem_exec_nop: " Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 21/74] tests/i915/gem_exec_reloc: " Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 22/74] tests/i915/gem_busy: " Jason Ekstrand
2021-04-13  3:52 ` [igt-dev] [PATCH i-g-t 23/74] tests/i915/gem_ctx_isolation: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 24/74] tests/i915/gem_exec_async: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 25/74] tests/i915/sysfs_clients: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 26/74] tests/i915/gem_exec_fair: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 27/74] tests/i915/gem_spin_batch: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 28/74] tests/i915/gem_exec_store: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 29/74] tests/amdgpu/amd_prime: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 30/74] tests/i915/i915_hangman: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 31/74] tests/i915/gem_ringfill: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 32/74] tests/prime_busy: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 33/74] tests/prime_vgem: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 34/74] tests/gem_exec_whisper: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 35/74] tests/i915/gem_ctx_exec: Stop cloning contexts in close_race Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 36/74] tests/i915/gem_ctx_exec: Convert to intel_ctx_t Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 37/74] tests/i915/gem_exec_suspend: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 38/74] tests/i915/gem_sync: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 39/74] tests/i915/gem_userptr_blits: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 40/74] tests/i915/gem_wait: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 41/74] tests/i915/gem_request_retire: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 42/74] tests/i915/gem_ctx_shared: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 43/74] tests/i915/gem_ctx_shared: Stop cloning contexts Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 44/74] tests/i915/gem_create: Convert to intel_ctx_t Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 45/74] tests/i915/gem_ctx_switch: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 46/74] tests/i915/gem_exec_parallel: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 47/74] tests/i915/gem_exec_latency: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 48/74] tests/i915/gem_watchdog: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 49/74] tests/i915/gem_shrink: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 50/74] tests/i915/gem_exec_params: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 51/74] tests/i915/gem_exec_gttfill: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 52/74] tests/i915/gem_exec_capture: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 53/74] tests/i915/gem_exec_create: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 54/74] tests/i915/gem_exec_await: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 55/74] tests/i915/gem_ctx_persistence: Drop the clone subtest Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 56/74] tests/i915/gem_ctx_persistence: Drop the engine replace subtests Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 57/74] tests/i915/gem_ctx_persistence: Convert to intel_ctx_t Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 58/74] tests/i915/module_load: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 59/74] tests/i915/pm_rc6_residency: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 60/74] tests/i915/gem_cs_tlb: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 61/74] tests/core_hotplug: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 62/74] tests/i915/gem_exec_balancer: Stop cloning engines Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 63/74] tests/i915/gem_exec_balancer: Don't reset engines on a context Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 64/74] tests/i915/gem_exec_balancer: Stop munging ctx0 engines Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 65/74] tests/i915/gem_exec_endless: " Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 66/74] lib/i915: Use for_each_physical_ring for submission tests Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 67/74] tests/i915/gem_ctx_engines: Rework execute-one* Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 68/74] tests/i915/gem_ctx_engines: Use better engine iteration Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 69/74] tests/i915/gem_ctx_engines: Drop the idempotent subtest Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 70/74] tests/i915/gem_ctx_create: Convert benchmarks to intel_ctx_t Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 71/74] lib/i915/gem_context: Delete all the context clone/copy stuff Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 72/74] tests/i915/gem_ctx_engines: Delete the libapi subtest Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 73/74] lib/igt_dummyload: Stop supporting ALL_ENGINES without an intel_ctx_t Jason Ekstrand
2021-04-13  3:53 ` [igt-dev] [PATCH i-g-t 74/74] lib/i915/gem_engine_topology: Delete the old physical engine iterators Jason Ekstrand
2021-04-13  4:42 ` [igt-dev] ✓ Fi.CI.BAT: success for Stop depending on context mutation Patchwork
2021-04-13  5:48 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-04-13 16:19 ` Jason Ekstrand [this message]
2021-04-15 16:27 ` [igt-dev] ✓ Fi.CI.BAT: success for Stop depending on context mutation (rev2) Patchwork
2021-04-15 17:35 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2021-04-15 19:10 [igt-dev] [PATCH i-g-t 00/74] Stop depending on context mutation Jason Ekstrand
2021-04-16 21:03 ` Ruhl, Michael J

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOFGe95yFQKWsYr2DN_gfN1zOuDVn1-a80ZK=+=XD2YUDy2ddA@mail.gmail.com' \
    --to=jason@jlekstrand.net \
    --cc=daniel@ffwll.ch \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.