Re: [PATCH 2/2] drm/i915/gt: Set default CCS mode '1'

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

 




On 20/02/2024 10:11, Andi Shyti wrote:
Hi Tvrtko,

On Mon, Feb 19, 2024 at 12:51:44PM +0000, Tvrtko Ursulin wrote:
On 19/02/2024 11:16, Tvrtko Ursulin wrote:
On 15/02/2024 13:59, Andi Shyti wrote:

...

+/*
+ * Exclude unavailable engines.
+ *
+ * Only the first CCS engine is utilized due to the disabling of
CCS auto load
+ * balancing. As a result, all CCS engines operate collectively,
functioning
+ * essentially as a single CCS engine, hence the count of active
CCS engines is
+ * considered '1'.
+ * Currently, this applies to platforms with more than one CCS engine,
+ * specifically DG2.
+ */
+#define for_each_available_uabi_engine(engine__, i915__) \
+    for_each_uabi_engine(engine__, i915__) \
+        if ((IS_DG2(i915__)) && \
+            ((engine__)->uabi_class == I915_ENGINE_CLASS_COMPUTE) && \
+            ((engine__)->uabi_instance)) { } \
+        else
+

If you don't want userspace to see some engines, just don't add them to
the uabi list in intel_engines_driver_register or thereabouts?

It will be dynamic. In next series I am preparing the user will
be able to increase the number of CCS engines he wants to use.

Oh tricky and new. Does it need to be at runtime or could be boot time?

If you are aiming to make the static single CCS only into the 6.9 release, and you feel running out of time, you could always do a simple solution for now. The one I mentioned of simply not registering on the uabi list. Then you can refine more leisurely for the next release.

Regards,

Tvrtko


Similar as we do for gsc which uses I915_NO_UABI_CLASS, although for ccs
you can choose a different approach, whatever is more elegant.

That is also needed for i915->engine_uabi_class_count to be right, so
userspace stats which rely on it are correct.

Oh yes. Will update it.

I later realized it is more than that - everything that uses
intel_engine_lookup_user to look up class instance passed in from userspace
relies on the engine not being on the user list otherwise userspace could
bypass the fact engine query does not list it. Like PMU, Perf/POA, context
engine map and SSEU context query.

Correct, will look into that, thank you!

Andi




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux