Re: [PATCH i-g-t v2 4/7] tests/gem_scheduler: Add gem_scheduler test

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

 



On 02/03/16 20:15, Chris Wilson wrote:
+static struct ring {
+	const char *name;
+	int id;
+	bool exists;
+} rings[] = {
+	{ "render", I915_EXEC_RENDER, false },
+	{ "bsd1",    I915_EXEC_BSD | 1<<13, false },
+	{ "bsd2",    I915_EXEC_BSD | 2<<13, false },

This is wrong. The timeline is coupled to the exec_id, which is the same
for "both" BSD engines. To fix that, properly split up the two rings
with separate ids and deprecate HAS_BSD2.

+	{ "blt",    I915_EXEC_BLT, false },
+	{ "vebox",  I915_EXEC_VEBOX, false },
+};
+
+#define NBR_RINGS (sizeof(rings)/sizeof(struct ring))

Also see intel_execution_engines to save on duplicating code.
-Chris

exec_id is indeed the same for both BSD engines, but it is used ONLY in
i915_gem_busy_ioctl(), whose result can tell you that "a" BSD engine is busy but not which one -- probably callers don't care anyway.

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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux