Re: [igt-dev] [PATCH i-g-t 2/2] DBS: tests/i915/gem_ctx_isolation: use the gem_engine_topology library, part 2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 23/01/2020 09:09, Chris Wilson wrote:
Quoting Dale B Stimson (2020-01-22 23:26:57)
Switch from simple iteration over all potential engines to using
macro __for_each_physical_engine which only returns engines that are
actually present.

For each context (as it is created) call gem_context_set_all_engines
so that execbuf will interpret the engine specification in the new way.

Signed-off-by: Dale B Stimson <dale.b.stimson@xxxxxxxxx>
---
  tests/i915/gem_ctx_isolation.c | 41 ++++++++++++++++++++++++++--------
  1 file changed, 32 insertions(+), 9 deletions(-)

diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
index 25113b054..31a20ed3a 100644
--- a/tests/i915/gem_ctx_isolation.c
+++ b/tests/i915/gem_ctx_isolation.c
@@ -240,6 +240,25 @@ static bool ignore_register(uint32_t offset)
         return false;
  }
+/*
+ * context_create_plus_all_engines - Same as gem_context_create plus setup.
+ *
+ * This is a convenience function that may be called instead of the sequence
+ * of gem_context_create followed by gem_context_set_all_engines.
+ * If gem_has_engine_topology(), then function gem_context_set_all_engines
+ * indicates that future execbuf calls for this context should interpret the
+ * engine specification in a gem_engine_topology-compatible way.
+ */
+static uint32_t context_create_plus_all_engines(int fd)
+{
+       uint32_t ctx;
+
+       ctx = gem_context_create(fd);
+       gem_context_set_all_engines(fd, ctx);
+
+       return ctx;
+}

gem_context_clone_with_engines() so we can stop assuming that
all-engines is the right answer, because that depends on the conditions
set up by the iterator on the first context.

gem_context_clone_with_engines was agreed upon in principle some time ago but never implemented. I have now posted this as https://patchwork.freedesktop.org/series/72464/ and plan to merge it once it passes CI.

Dale, Arjun, Krishnaiah and Sreedhar - you have in progress patches which use gem_context_set_all_engines which will be gone and you will need to adjust your work accordingly.

Sreedhar specifically for your change in gem_exec_parallel we will need to add a new helper which transfers the engine map from one fd/context to another. I will copy you on a patch which will add it.

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux