All of lore.kernel.org
 help / color / mirror / Atom feed
From: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
To: <priyanka.dandamudi@intel.com>
Cc: <igt-dev@lists.freedesktop.org>
Subject: Re: [PATCH i-g-t 6/7] tests/intel/xe_exec_threads: Add multi queue basic test
Date: Wed, 31 Dec 2025 13:15:48 -0800	[thread overview]
Message-ID: <aVWShAsoxGrXXtom@nvishwa1-desk> (raw)
In-Reply-To: <20251219120154.695287-7-priyanka.dandamudi@intel.com>

On Fri, Dec 19, 2025 at 05:31:53PM +0530, priyanka.dandamudi@intel.com wrote:
>From: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
>
>Check multi queue functionality in parallel execution scenario.
>Changed naming for multi queue and assign exec_queue create
>
>Signed-off-by: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
>Signed-off-by: Priyanka Dandamudi <priyanka.dandamudi@intel.com>

Same here, remove email ids that are no longer valid.

>---
> tests/intel/xe_exec_threads.c | 39 +++++++++++++++++++++++++++++++----
> 1 file changed, 35 insertions(+), 4 deletions(-)
>
>diff --git a/tests/intel/xe_exec_threads.c b/tests/intel/xe_exec_threads.c
>index e8d56a3ef..4bf1cd1b1 100644
>--- a/tests/intel/xe_exec_threads.c
>+++ b/tests/intel/xe_exec_threads.c
>@@ -41,6 +41,7 @@
> #define REBIND_ERROR	(0x1 << 12)
> #define BIND_EXEC_QUEUE	(0x1 << 13)
> #define MANY_QUEUES	(0x1 << 14)
>+#define MULTI_QUEUE		(0x1 << 15)
>
> pthread_barrier_t barrier;
>
>@@ -540,8 +541,22 @@ test_legacy_mode(int fd, uint32_t vm, uint64_t addr, uint64_t userptr,
>
> 	memset(sync_all, 0, sizeof(sync_all));
> 	for (i = 0; i < n_exec_queues; i++) {
>-		if (!(flags & MANY_QUEUES))
>-			exec_queues[i] = xe_exec_queue_create(fd, vm, eci, 0);
>+		if (flags & MULTI_QUEUE) {
>+			struct drm_xe_ext_set_property multi_queue = {
>+				.base.next_extension = 0,
>+				.base.name = DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY,
>+				.property = DRM_XE_EXEC_QUEUE_SET_PROPERTY_MULTI_GROUP,
>+			};
>+
>+			uint64_t ext = to_user_pointer(&multi_queue);
>+
>+			multi_queue.value = i ? exec_queues[0] : DRM_XE_MULTI_GROUP_CREATE;
>+			exec_queues[i] = xe_exec_queue_create(fd, vm, eci, ext);
>+		} else {
>+			if (!(flags & MANY_QUEUES))
>+				exec_queues[i] = xe_exec_queue_create(fd, vm, eci, 0);
>+		}
>+
> 		if (flags & BIND_EXEC_QUEUE)
> 			bind_exec_queues[i] = xe_bind_exec_queue_create(fd, vm,
> 									0);
>@@ -979,6 +994,8 @@ static void *thread(void *data)
>  *	balancer mixed fd userptr invalidate
>  * @bal-mixed-fd-userptr-invalidate-race:
>  *	balancer mixed fd userptr invalidate race
>+ * @multi-queue-shared-vm-basic:
>+ *	multi-queue shared vm basic test

I don't see MultiQ mega feature being added here as done in patch #1.
Looks like it is not consistently added. It probably makes sense to
remove it from individual patches and add a separate patch for all
the multi-queue tests.

Niranjana

>  */
>
> static void threads(int fd, int flags)
>@@ -996,8 +1013,11 @@ static void threads(int fd, int flags)
> 	int n_threads = 0;
> 	int gt;
>
>-	xe_for_each_engine(fd, hwe)
>+	xe_for_each_engine(fd, hwe) {
>+		if ((flags & MULTI_QUEUE) && !xe_engine_class_supports_multi_queue(hwe->engine_class))
>+			continue;
> 		++n_engines;
>+	}
>
> 	if (flags & BALANCER) {
> 		xe_for_each_gt(fd, gt)
>@@ -1023,6 +1043,8 @@ static void threads(int fd, int flags)
> 	}
>
> 	xe_for_each_engine(fd, hwe) {
>+		if ((flags & MULTI_QUEUE) && !xe_engine_class_supports_multi_queue(hwe->engine_class))
>+			continue;
> 		threads_data[i].mutex = &mutex;
> 		threads_data[i].cond = &cond;
> #define ADDRESS_SHIFT	39
>@@ -1277,6 +1299,7 @@ int igt_main()
> 			FD | USERPTR | INVALIDATE },
> 		{ "bal-mixed-fd-userptr-invalidate-race", BALANCER |
> 			MIXED_MODE | FD | USERPTR | INVALIDATE | RACE },
>+		{ "multi-queue-shared-vm-basic", MULTI_QUEUE | SHARED_VM },

What about other tests? Why not add multi-queue variants of those?

Niranjana

> 		{ NULL },
> 	};
> 	int fd;
>@@ -1285,8 +1308,16 @@ int igt_main()
> 		fd = drm_open_driver(DRIVER_XE);
>
> 	for (const struct section *s = sections; s->name; s++) {
>-		igt_subtest_f("threads-%s", s->name)
>+		igt_subtest_f("threads-%s", s->name) {
>+			if (s->flags & MULTI_QUEUE) {
>+				igt_skip_on_f(!(intel_graphics_ver(intel_get_drm_devid(fd)) >= IP_VER(35, 0)),
>+						"multi_queue is supported on graphics version 35 and above");
>+				/* Balancer can't be set with multi-queue at the same time */
>+				igt_assert(!(s->flags & BALANCER));
>+			}
>+
> 			threads(fd, s->flags);
>+		}
> 	}
>
> 	igt_fixture()
>-- 
>2.43.0
>

  reply	other threads:[~2025-12-31 21:15 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-19 12:01 [PATCH i-g-t 0/7] Extend multi queue feature validation support priyanka.dandamudi
2025-12-19 12:01 ` [PATCH i-g-t 1/7] tests/intel/xe_exec_fault_mode: Add multi queue test support priyanka.dandamudi
2025-12-31 19:55   ` Niranjana Vishwanathapura
2026-01-07  6:24     ` Dandamudi, Priyanka
2025-12-19 12:01 ` [PATCH i-g-t 2/7] tests/intel/xe_evict: Add basic multi queue test priyanka.dandamudi
2026-01-01  0:21   ` Niranjana Vishwanathapura
2026-01-07  6:25     ` Dandamudi, Priyanka
2026-01-01  0:34   ` Niranjana Vishwanathapura
2025-12-19 12:01 ` [PATCH i-g-t 3/7] tests/intel/xe_evict: Add priority for multi queue priyanka.dandamudi
2026-01-01  0:23   ` Niranjana Vishwanathapura
2026-01-14  6:29     ` Dandamudi, Priyanka
2025-12-19 12:01 ` [PATCH i-g-t 4/7] tests/intel/xe_evict: Enhance testing of multi queue functionality priyanka.dandamudi
2026-01-01  0:27   ` Niranjana Vishwanathapura
2026-01-14  6:32     ` Dandamudi, Priyanka
2025-12-19 12:01 ` [PATCH i-g-t 5/7] tests/intel/xe_exec_reset: Add multi queue subtests priyanka.dandamudi
2026-01-01  4:17   ` Niranjana Vishwanathapura
2026-01-14  6:39     ` Dandamudi, Priyanka
2025-12-19 12:01 ` [PATCH i-g-t 6/7] tests/intel/xe_exec_threads: Add multi queue basic test priyanka.dandamudi
2025-12-31 21:15   ` Niranjana Vishwanathapura [this message]
2026-01-01  4:19     ` Niranjana Vishwanathapura
2026-01-14  6:33       ` Dandamudi, Priyanka
2026-01-14  6:28     ` Dandamudi, Priyanka
2025-12-19 12:01 ` [PATCH i-g-t 7/7] tests/intel/xe_exec_threads: Extend multi queue testing priyanka.dandamudi
2025-12-31 21:34   ` Niranjana Vishwanathapura
2026-01-14  6:36     ` Dandamudi, Priyanka
2025-12-22 21:58 ` ✓ Xe.CI.BAT: success for Extend multi queue feature validation support (rev2) Patchwork
2025-12-22 22:11 ` ✓ i915.CI.BAT: " Patchwork
2025-12-23  4:36 ` ✗ Xe.CI.Full: failure " Patchwork
2025-12-24  6:06 ` ✗ i915.CI.Full: " Patchwork

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=aVWShAsoxGrXXtom@nvishwa1-desk \
    --to=niranjana.vishwanathapura@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=priyanka.dandamudi@intel.com \
    /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.