From: "Summers, Stuart" <stuart.summers@intel.com>
To: "Vishwanathapura, Niranjana" <niranjana.vishwanathapura@intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
"Ch, Sai Gowtham" <sai.gowtham.ch@intel.com>,
"Dandamudi, Priyanka" <priyanka.dandamudi@intel.com>,
"kamil.konieczny@linux.intel.com"
<kamil.konieczny@linux.intel.com>
Subject: Re: [PATCH v2 01/19] drm-uapi/xe: Sync with Multi-Queue uapi
Date: Fri, 5 Dec 2025 18:07:08 +0000 [thread overview]
Message-ID: <03e02df978dfd3365142c47b00509f9d3a1d3b21.camel@intel.com> (raw)
In-Reply-To: <aTH13bX0hd9pvGZe@nvishwa1-desk>
On Thu, 2025-12-04 at 12:58 -0800, Niranjana Vishwanathapura wrote:
> On Thu, Dec 04, 2025 at 11:19:47AM -0800, Summers, Stuart wrote:
> > On Thu, 2025-11-20 at 19:57 -0800, Niranjana Vishwanathapura wrote:
> > > Sync kernel header to get Multi-Queue uapi definitions.
> > >
> > > Signed-off-by: Niranjana Vishwanathapura
> > > <niranjana.vishwanathapura@intel.com>
> > > ---
> > > include/drm-uapi/xe_drm.h | 40
> > > +++++++++++++++++++++++++++++++++++++++
> > > 1 file changed, 40 insertions(+)
> > >
> > > diff --git a/include/drm-uapi/xe_drm.h b/include/drm-
> > > uapi/xe_drm.h
> > > index 89ab54935..d1cb08dc7 100644
> > > --- a/include/drm-uapi/xe_drm.h
> > > +++ b/include/drm-uapi/xe_drm.h
> > > @@ -106,6 +106,7 @@ extern "C" {
> > > #define DRM_XE_OBSERVATION 0x0b
> > > #define DRM_XE_MADVISE 0x0c
> > > #define DRM_XE_VM_QUERY_MEM_RANGE_ATTRS 0x0d
> > > +#define DRM_XE_EXEC_QUEUE_SET_PROPERTY 0x0e
> > >
> > > /* Must be kept compact -- no holes */
> > >
> > > @@ -123,6 +124,7 @@ extern "C" {
> > > #define
> > > DRM_IOCTL_XE_OBSERVATION DRM_IOW(DRM_COMMAND_BASE +
> > > DRM_XE_OBSERVATION, struct drm_xe_observation_param)
> > > #define
> > > DRM_IOCTL_XE_MADVISE DRM_IOW(DRM_COMMAND_BASE +
> > > DRM_XE_MADVISE, struct drm_xe_madvise)
> > > #define
> > > DRM_IOCTL_XE_VM_QUERY_MEM_RANGE_ATTRS DRM_IOWR(DRM_COMMAND_BASE
> > > +
> > > DRM_XE_VM_QUERY_MEM_RANGE_ATTRS, struct
> > > drm_xe_vm_query_mem_range_attr)
> > > +#define
> > > DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY DRM_IOW(DRM_COMMAND_BASE +
> > > DRM_XE_EXEC_QUEUE_SET_PROPERTY, struct
> > > drm_xe_exec_queue_set_property)
> > >
> > > /**
> > > * DOC: Xe IOCTL Extensions
> > > @@ -1233,6 +1235,18 @@ struct drm_xe_vm_bind {
> > > * Given that going into a power-saving state kills PXP HWDRM
> > > sessions,
> > > * runtime PM will be blocked while queues of this type are
> > > alive.
> > > * All PXP queues will be killed if a PXP invalidation event
> > > occurs.
> > > + * - %DRM_XE_EXEC_QUEUE_SET_PROPERTY_MULTI_GROUP - Create a
> > > multi-
> > > queue group
> > > + * or add secondary queues to a multi-queue group.
> > > + * If the extension's 'value' field has
> > > %DRM_XE_MULTI_GROUP_CREATE flag set,
> > > + * then a new multi-queue group is created with this queue as
> > > the
> > > primary queue
> > > + * (Q0). Otherwise, the queue gets added to the multi-queue
> > > group
> > > whose primary
> > > + * queue id is specified in the 'value' field.
> >
> > Missing documentation, although compared to the ones below this is
> > much
> > less interesting:
> >
> > + * All the other non-relevant bits of extension's 'value' field
> > while adding the
> > + * primary or the secondary queues of the group must be set to
> > 0.
> >
> > > + * If the extension's 'value' field has
> > > %DRM_XE_MULTI_GROUP_KEEP_ACTIVE flag
> > > + * set, then the multi-queue group is kept active after the
> > > primary queue is
> > > + * destroyed.
> > > + *
> > > + * - %DRM_XE_EXEC_QUEUE_SET_PROPERTY_MULTI_QUEUE_PRIORITY - Set
> > > the
> > > queue
> > > + * priority within the multi-queue group.
> >
> > I see a little more detail in the kernel patch here:
> >
> > + * priority within the multi-queue group. Current valid
> > priority
> > values are 0–2
> > + * (default is 1), with higher values indicating higher
> > priority.
> >
> > Why not include this documentation here?
> >
>
> The updates to uapi documentation on kernel side was done as part of
> review comment fix, which I forgot to import it here. Will import
> them. I applies to below comments also.
Makes sense and sounds great. Thanks!
-Stuart
>
> Niranjana
>
> > > *
> > > * The example below shows how to use @drm_xe_exec_queue_create
> > > to
> > > create
> > > * a simple exec_queue (no parallel submission) of class
> > > @@ -1273,6 +1287,10 @@ struct drm_xe_exec_queue_create {
> > > #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PRIORITY 0
> > > #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE 1
> > > #define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PXP_TYPE 2
> > > +#define DRM_XE_EXEC_QUEUE_SET_PROPERTY_MULTI_GROUP 3
> > > +#define
> > > DRM_XE_MULTI_GROUP_CREATE (1ull
> > > << 63)
> > > +#define
> > > DRM_XE_MULTI_GROUP_KEEP_ACTIVE (1ull
> > > << 62)
> > > +#define DRM_XE_EXEC_QUEUE_SET_PROPERTY_MULTI_QUEUE_PRIORITY 4
> > > /** @extensions: Pointer to the first extension struct,
> > > if
> > > any */
> > > __u64 extensions;
> > >
> > > @@ -2254,6 +2272,28 @@ struct drm_xe_vm_query_mem_range_attr {
> > >
> > > };
> > >
> > > +/**
> > > + * struct drm_xe_exec_queue_set_property - exec queue set
> > > property
> > > + *
> > > + * Sets execution queue properties dynamically.
> >
> > Why not include the bit about the multi queue property being the
> > only
> > one here?
> >
> > +/**
> > + * struct drm_xe_exec_queue_set_property - exec queue set property
> > + *
> > + * Sets execution queue properties dynamically.
> > + * Currently only
> > %DRM_XE_EXEC_QUEUE_SET_PROPERTY_MULTI_QUEUE_PRIORITY
> > + * property can be dynamically set.
> > + */
> >
> > Anyway these aren't function. From my perspective it's more nice to
> > have to align with the kernel. An IGT developer (and UMD dev) can
> > and
> > should look at the documentation in the kernel itself anyway. For
> > consistency though it would be nice to keep this the same.
> >
> > Reviewed-by: Stuart Summers <stuart.summers@intel.com>
> >
> > Thanks,
> > Stuart
> >
> >
> > > + */
> > > +struct drm_xe_exec_queue_set_property {
> > > + /** @extensions: Pointer to the first extension struct,
> > > if
> > > any */
> > > + __u64 extensions;
> > > +
> > > + /** @exec_queue_id: Exec queue ID */
> > > + __u32 exec_queue_id;
> > > +
> > > + /** @property: property to set */
> > > + __u32 property;
> > > +
> > > + /** @value: property value */
> > > + __u64 value;
> > > +
> > > + /** @reserved: Reserved */
> > > + __u64 reserved[2];
> > > +};
> > > +
> > > #if defined(__cplusplus)
> > > }
> > > #endif
> >
next prev parent reply other threads:[~2025-12-05 18:07 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-21 3:57 [PATCH v2 00/19] Multi Queue feature validation support Niranjana Vishwanathapura
2025-11-21 3:57 ` [PATCH v2 01/19] drm-uapi/xe: Sync with Multi-Queue uapi Niranjana Vishwanathapura
2025-12-04 19:19 ` Summers, Stuart
2025-12-04 20:58 ` Niranjana Vishwanathapura
2025-12-05 18:07 ` Summers, Stuart [this message]
2025-11-21 3:57 ` [PATCH v2 02/19] lib/xe: Add multi-queue helper routines Niranjana Vishwanathapura
2025-12-04 19:20 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 03/19] tests/intel/xe_exec_multi_queue: Add xe_exec_multi_queue test Niranjana Vishwanathapura
2025-12-04 20:02 ` Summers, Stuart
2025-12-05 1:34 ` Niranjana Vishwanathapura
2025-12-05 18:09 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 04/19] tests/intel/xe_exec_multi_queue: Validate exec submissions Niranjana Vishwanathapura
2025-12-02 5:27 ` Ch, Sai Gowtham
2025-12-04 20:42 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 05/19] tests/intel/xe_exec_multi_queue: Validate queue priority setting Niranjana Vishwanathapura
2025-12-02 5:29 ` Dandamudi, Priyanka
2025-12-04 20:45 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 06/19] tests/intel/xe_exec_multi_queue: Add close-fd tests Niranjana Vishwanathapura
2025-11-24 8:18 ` Goyal, Nakshtra
2025-12-04 20:46 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 07/19] tests/intel/xe_exec_multi_queue: Add multiple placement test Niranjana Vishwanathapura
2025-12-02 5:32 ` Dandamudi, Priyanka
2025-12-05 18:10 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 08/19] tests/intel/xe_exec_multi_queue: Add preempt mode test Niranjana Vishwanathapura
2025-12-04 20:52 ` Summers, Stuart
2025-12-05 19:12 ` Niranjana Vishwanathapura
2025-12-08 19:40 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 09/19] lib/xe: Add exec_queue set_property ioctl support Niranjana Vishwanathapura
2025-12-04 19:24 ` Summers, Stuart
2025-12-05 1:58 ` Niranjana Vishwanathapura
2025-12-05 18:11 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 10/19] tests/intel/xe_exec_multi_queue: Add dynamic priority test Niranjana Vishwanathapura
2025-12-04 20:53 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 11/19] tests/intel/xe_exec_multi_queue: Add userptr invalidation tests Niranjana Vishwanathapura
2025-12-04 20:56 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 12/19] tests/intel/xe_exec_multi_queue: Add fault mode test Niranjana Vishwanathapura
2025-11-21 5:04 ` Goyal, Nakshtra
2025-12-04 20:59 ` Summers, Stuart
2025-12-04 23:25 ` Niranjana Vishwanathapura
2025-12-05 18:13 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 13/19] tests/intel/xe_exec_multi_queue: Add multi queues with SMEM Niranjana Vishwanathapura
2025-12-04 19:56 ` Goyal, Nakshtra
2025-12-04 20:59 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 14/19] lib/xe/xe_spin: Add switch point for preemptible spinner Niranjana Vishwanathapura
2025-12-04 21:03 ` Summers, Stuart
2025-12-04 21:42 ` Niranjana Vishwanathapura
2025-12-05 18:45 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 15/19] tests/intel/xe_exec_multi_queue: Add priority test Niranjana Vishwanathapura
2025-12-02 5:28 ` Dandamudi, Priyanka
2025-12-04 21:53 ` Summers, Stuart
2025-12-05 18:23 ` Niranjana Vishwanathapura
2025-12-08 19:38 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 16/19] tests/intel/xe_exec_multi_queue: Add submission sanity test Niranjana Vishwanathapura
2025-12-02 11:46 ` Ch, Sai Gowtham
2025-12-04 21:08 ` Summers, Stuart
2025-12-04 21:28 ` Niranjana Vishwanathapura
2025-11-21 3:57 ` [PATCH v2 17/19] tests/intel/xe_exec_multi_queue: Sanity test KEEP_ACTIVE flag Niranjana Vishwanathapura
2025-12-04 21:10 ` Summers, Stuart
2025-12-04 21:20 ` Niranjana Vishwanathapura
2025-11-21 3:57 ` [PATCH v2 18/19] tests/intel/xe_exec_multi_queue: Keep group active in exec-sanity Niranjana Vishwanathapura
2025-12-02 11:51 ` Ch, Sai Gowtham
2025-12-04 21:12 ` Summers, Stuart
2025-11-21 3:57 ` [PATCH v2 19/19] tests/intel/xe_exec_queue_property: Update invalid-property test Niranjana Vishwanathapura
2025-12-04 19:25 ` Summers, Stuart
2025-12-04 21:11 ` Niranjana Vishwanathapura
2025-11-21 4:32 ` ✓ Xe.CI.BAT: success for Multi Queue feature validation support (rev2) Patchwork
2025-11-21 6:47 ` ✓ i915.CI.BAT: " Patchwork
2025-11-21 7:20 ` ✗ Xe.CI.Full: failure " Patchwork
2025-11-21 9:42 ` ✗ 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=03e02df978dfd3365142c47b00509f9d3a1d3b21.camel@intel.com \
--to=stuart.summers@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kamil.konieczny@linux.intel.com \
--cc=niranjana.vishwanathapura@intel.com \
--cc=priyanka.dandamudi@intel.com \
--cc=sai.gowtham.ch@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.