Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: John Harrison <john.c.harrison@intel.com>
To: Francois Dugast <francois.dugast@intel.com>,
	<intel-xe@lists.freedesktop.org>
Subject: Re: [Intel-xe] [PATCH v3 00/30] uAPI Alignment - take 1 v3
Date: Tue, 3 Oct 2023 17:31:16 -0700	[thread overview]
Message-ID: <7581b9cc-a4e4-7417-4652-e8b12c78d7f4@intel.com> (raw)
In-Reply-To: <20230926125540.7-1-francois.dugast@intel.com>

On 9/26/2023 05:55, Francois Dugast wrote:
> v3:
> Rebase and add more fixes to uAPI as well as drm_xe_vm_bind_op extension,
> query for microcontroller version and documentation.
>
> This is still not the final version as we are missing at least:
> - a fix for GEM create flags [1]
> - a uAPI update to go per tile rather than per GT [3]
> - PAT and cache coherency support [4]
There is a need to rework the PMU counters (unless that support hasn't 
yet been ported across from i915?). Hardware generated engine busyness 
is reported in clock ticks not nanoseconds. And while technically a 
native device can convert from ticks to ns and compare the activiy count 
against wall time, a VF cannot do that - wall time is not a valid 
concept in a VF because the VF only gets to run on the hardware for some 
amount of the time. Therefore, the interface needs to return 'active 
ticks' and 'total available ticks' and the user can only use these as a 
ratio to determine an active busyness. Comparison to wall time is not 
valid. And in order to prevent code being written on native and then 
failing when run in a VF, we need to make sure the only interface 
provided to the user is the VF compliant one.

John.


>
> v2:
> This v2 has 3 extra patches that was missing on yesterday's submission.
> But that aligns with the IGT series sent yesterday.
>
> Also I'm glad that Mesa reacted super fast and we already have the MR
> ready that aligns with v1 sent yesterday:
>
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25300
>
> Thank you Jose!
>
> v1:
> As a result of the uAPI review efforts started by Thomas[1],
> we have identified many updates on our uAPI that would lead to
> breakage in the compatibility. What it is not acceptable after
> we are merged upstream. So, let's break it before it is too late,
> and start upstreaming a good, reliable and clean uapi.
>
> Most of this work on putting these patches together for a single
> shot was led by Francois.
>
> The IGT counter part of this series is available as well[2].
>
> [1] - https://lore.kernel.org/all/863bebd0c624d6fc2b38c0a06b63e468b4185128.camel@l\
> inux.intel.com/
> [2] - https://lore.kernel.org/all/20230919142000.91363-1-rodrigo.vivi@intel.com
> [3] - https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/633
> [4] - https://patchwork.freedesktop.org/series/123027/
>
> Ashutosh Dixit (1):
>    drm/xe/uapi: Use common drm_xe_ext_set_property extension
>
> Francois Dugast (11):
>    drm/xe/uapi: Separate VM_BIND's operation and flag
>    drm/xe/vm: Remove VM_BIND_OP macro
>    drm/xe/uapi: Remove MMIO ioctl
>    drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY
>    drm/xe/uapi: Add documentation for query
>    drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG
>    drm/xe/uapi: Add pad to drm_xe_engine_class_instance
>    drm/xe: Extend uAPI to query HuC micro-controler firmware version
>    drm/xe: Remove useless query config num_params
>    drm/xe/uapi: Add missing DRM_ prefix in uAPI constants
>    drm/xe/uapi: Add _FLAG to uAPI constants usable for flags
>
> José Roberto de Souza (1):
>    drm/xe: Add uAPI to query micro-controler firmware version
>
> Matthew Brost (7):
>    drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues
>    drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE
>      implementation
>    drm/xe: Rename exec_queue_kill_compute to
>      xe_vm_remove_compute_exec_queue
>    drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
>    drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
>    drm/xe: Remove async worker and rework sync binds
>    drm/xe: Fix VM bind out-sync signaling ordering
>
> Mika Kuoppala (1):
>    drm/xe: Extend drm_xe_vm_bind_op
>
> Rodrigo Vivi (6):
>    drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
>    drm/xe/uapi: Document drm_xe_query_gt
>    drm/xe/uapi: Replace useless 'instance' per unique gt_id
>    drm/xe/uapi: Remove unused field of drm_xe_query_gt
>    drm/xe/uapi: Rename gts to gt_list
>    drm/xe/uapi: Crystal Reference Clock updates
>
> Umesh Nerlige Ramappa (3):
>    drm/xe: Fix array bounds check for queries
>    drm/xe: Set the correct type for xe_to_user_engine_class
>    drm/xe: Correlate engine and cpu timestamps with better accuracy
>
>   drivers/gpu/drm/xe/xe_bo.c               |  14 +-
>   drivers/gpu/drm/xe/xe_device.c           |   1 -
>   drivers/gpu/drm/xe/xe_exec.c             |  43 --
>   drivers/gpu/drm/xe/xe_exec_queue.c       | 201 +++---
>   drivers/gpu/drm/xe/xe_exec_queue.h       |   7 +
>   drivers/gpu/drm/xe/xe_exec_queue_types.h |  14 +-
>   drivers/gpu/drm/xe/xe_gt.c               |   2 +-
>   drivers/gpu/drm/xe/xe_gt_types.h         |   2 +-
>   drivers/gpu/drm/xe/xe_mmio.c             | 102 ---
>   drivers/gpu/drm/xe/xe_pci.c              |   4 -
>   drivers/gpu/drm/xe/xe_pmu.c              |  20 +-
>   drivers/gpu/drm/xe/xe_query.c            | 266 ++++++--
>   drivers/gpu/drm/xe/xe_sync.c             |  28 +-
>   drivers/gpu/drm/xe/xe_sync.h             |   2 +-
>   drivers/gpu/drm/xe/xe_vm.c               | 829 ++++++-----------------
>   drivers/gpu/drm/xe/xe_vm.h               |   3 +-
>   drivers/gpu/drm/xe/xe_vm_doc.h           |  14 +-
>   drivers/gpu/drm/xe/xe_vm_madvise.c       |   8 +-
>   drivers/gpu/drm/xe/xe_vm_types.h         |  42 +-
>   drivers/gpu/drm/xe/xe_wait_user_fence.c  |  49 +-
>   include/uapi/drm/xe_drm.h                | 516 +++++++-------
>   21 files changed, 915 insertions(+), 1252 deletions(-)
>


      parent reply	other threads:[~2023-10-04  0:31 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-26 12:55 [Intel-xe] [PATCH v3 00/30] uAPI Alignment - take 1 v3 Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 01/30] drm/xe: Fix array bounds check for queries Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 02/30] drm/xe: Set the correct type for xe_to_user_engine_class Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 03/30] drm/xe: Correlate engine and cpu timestamps with better accuracy Francois Dugast
2023-09-26 16:42   ` Souza, Jose
2023-09-26 18:43   ` Umesh Nerlige Ramappa
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 04/30] drm/xe/uapi: Separate VM_BIND's operation and flag Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 05/30] drm/xe/vm: Remove VM_BIND_OP macro Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 06/30] drm/xe/uapi: Remove MMIO ioctl Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 07/30] drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 08/30] drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE implementation Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 09/30] drm/xe: Rename exec_queue_kill_compute to xe_vm_remove_compute_exec_queue Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 10/30] drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 11/30] drm/xe/uapi: Use common drm_xe_ext_set_property extension Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 12/30] drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 13/30] drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 14/30] drm/xe: Remove async worker and rework sync binds Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 15/30] drm/xe: Fix VM bind out-sync signaling ordering Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 16/30] drm/xe/uapi: Document drm_xe_query_gt Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 17/30] drm/xe/uapi: Replace useless 'instance' per unique gt_id Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 18/30] drm/xe/uapi: Remove unused field of drm_xe_query_gt Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 19/30] drm/xe/uapi: Rename gts to gt_list Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 20/30] drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 21/30] drm/xe/uapi: Add documentation for query Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 22/30] drm/xe/uapi: Crystal Reference Clock updates Francois Dugast
2023-09-26 16:40   ` Souza, Jose
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 23/30] drm/xe: Extend drm_xe_vm_bind_op Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 24/30] drm/xe: Add uAPI to query micro-controler firmware version Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 25/30] drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 26/30] drm/xe/uapi: Add pad to drm_xe_engine_class_instance Francois Dugast
2023-09-29  0:36   ` Umesh Nerlige Ramappa
2023-09-29  9:06     ` Francois Dugast
2023-09-29 16:00       ` Umesh Nerlige Ramappa
2023-09-29 16:45         ` Souza, Jose
2023-10-03 18:15           ` Umesh Nerlige Ramappa
2023-10-04 10:55             ` Francois Dugast
2023-10-05  2:35               ` Umesh Nerlige Ramappa
2023-10-09 17:05                 ` Umesh Nerlige Ramappa
2023-10-09 17:16                   ` Francois Dugast
2023-10-06  2:07               ` Umesh Nerlige Ramappa
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 27/30] drm/xe: Extend uAPI to query HuC micro-controler firmware version Francois Dugast
2023-09-26 16:46   ` Souza, Jose
2023-09-27 17:04     ` Rodrigo Vivi
2023-09-27 17:22       ` Souza, Jose
2023-10-04  0:48         ` John Harrison
2023-10-09 13:08           ` Francois Dugast
2023-10-09 13:35             ` Souza, Jose
2023-10-10 19:10   ` Lucas De Marchi
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 28/30] drm/xe: Remove useless query config num_params Francois Dugast
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 29/30] drm/xe/uapi: Add missing DRM_ prefix in uAPI constants Francois Dugast
2023-09-26 16:24   ` Souza, Jose
2023-09-26 12:55 ` [Intel-xe] [PATCH v3 30/30] drm/xe/uapi: Add _FLAG to uAPI constants usable for flags Francois Dugast
2023-09-26 13:12 ` [Intel-xe] ✓ CI.Patch_applied: success for uAPI Alignment - take 1 v3 Patchwork
2023-09-26 13:13 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-09-26 13:14 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-09-26 13:21 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-09-26 13:22 ` [Intel-xe] ✗ CI.Hooks: failure " Patchwork
2023-09-26 13:23 ` [Intel-xe] ✓ CI.checksparse: success " Patchwork
2023-09-26 13:49 ` [Intel-xe] ✗ CI.BAT: failure " Patchwork
2023-10-04  0:31 ` John Harrison [this message]

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=7581b9cc-a4e4-7417-4652-e8b12c78d7f4@intel.com \
    --to=john.c.harrison@intel.com \
    --cc=francois.dugast@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox