Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH V9 0/6] drm/xe: Add engine scheduler control interface
@ 2023-07-27  8:22 Tejas Upadhyay
  2023-07-27  8:22 ` [Intel-xe] [PATCH V9 1/6] drm/xe: Add sysfs entries for engines under its GT Tejas Upadhyay
                   ` (12 more replies)
  0 siblings, 13 replies; 30+ messages in thread
From: Tejas Upadhyay @ 2023-07-27  8:22 UTC (permalink / raw)
  To: intel-xe

Patch series introduces this in several patches,
1. Add basic directory engine class under its GT, as below
   DUT# cat /sys/class/drm/cardX/device/tileN/gtN/engines/
   ccs/ bcs/
2. Add default entries with its value for user to go back
   to default
3,4,5 : Add individual engine properties sysfs entry
6: Introduce min/max to control in what range these properties
   can be set for elevated and non-elevated users.

VLK-46764, VLK-46767

V9 :
   - Rebase to use s/xe_engine/xe_hw_engine/ - Matt
   - Remove init_done from class_intf instead check member 
     is initialized - Matt
V8 :
   - Modify enforce_sched_limit logic - Niranjana
   - make sure min < max - Niranjana
   - Push all errors to common err path - Niranjana
V7 :
   - access engine class interface inplace of hw engine - Niranjana
   - Use some API to lower down duplication of code
   - Return EINVAL in place of EPERM
V6 :
   - Scheduling props should apply per class engine not per hardware engine - Matt
   - Do not record value of job_timeout_ms if changed based on dma_fence - Matt
   - Removed timeout validation check as range validation covers it
   - Rebase all the patches based on above changes
V5 :
   - Rebase to resolve conflicts - CI
V4 :
    - Rebase the series
    - Add CONFIG option to enable/disable min/max limitation on
      elevated user - Matt/Joonas
    - Movement of engine related code to its own file
V3 :
    - Improve class_mask logic
V2 :
    - Rebase to solve conflicts
    - Use sysfs_create_files in this patch - Niranjana
    - Handle prototype error for xe_add_engine_defaults - CI hooks
    - Remove unused member sysfs_hwe - Niranjana
    - Restric min/max setting to #define default min/max for
         elevated user - Himal
    - Remove some unrelated changes from patch - Niranjana

Testcase: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/94ccbe7cdf8651d5b76588102eca545cb74caad8
Testcase: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/0753ddf646df691cd1d2219192ce3a629f3e7e3f
Updated Testcase: https://patchwork.freedesktop.org/series/121046/
Tested-by: Priyanka Dandamudi <priyanka.dandamudi@intel.com>
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>

Tejas Upadhyay (6):
  drm/xe: Add sysfs entries for engines under its GT
  drm/xe: Add sysfs for default engine scheduler properties
  drm/xe: Add job timeout engine property to sysfs
  drm/xe: Add timeslice duration engine property to sysfs
  drm/xe: Add sysfs for preempt reset timeout
  drm/xe: Add min/max cap for engine scheduler properties

 drivers/gpu/drm/xe/Kconfig                    |   6 +
 drivers/gpu/drm/xe/Kconfig.profile            |  46 ++
 drivers/gpu/drm/xe/Makefile                   |   1 +
 drivers/gpu/drm/xe/xe_engine.c                |  31 +-
 drivers/gpu/drm/xe/xe_gt.c                    |   7 +
 drivers/gpu/drm/xe/xe_gt_types.h              |   3 +
 drivers/gpu/drm/xe/xe_guc_submit.c            |   3 +-
 drivers/gpu/drm/xe/xe_hw_engine.c             |  17 +
 drivers/gpu/drm/xe/xe_hw_engine.h             |  31 +
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c | 640 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h |  35 +
 drivers/gpu/drm/xe/xe_hw_engine_types.h       |  37 +
 12 files changed, 847 insertions(+), 10 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/Kconfig.profile
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h

-- 
2.25.1


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2023-07-28 14:55 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-27  8:22 [Intel-xe] [PATCH V9 0/6] drm/xe: Add engine scheduler control interface Tejas Upadhyay
2023-07-27  8:22 ` [Intel-xe] [PATCH V9 1/6] drm/xe: Add sysfs entries for engines under its GT Tejas Upadhyay
2023-07-27 14:41   ` Matthew Brost
2023-07-28 13:22     ` Upadhyay, Tejas
2023-07-27  8:22 ` [Intel-xe] [PATCH V9 2/6] drm/xe: Add sysfs for default engine scheduler properties Tejas Upadhyay
2023-07-27 14:47   ` Matthew Brost
2023-07-27  8:22 ` [Intel-xe] [PATCH V9 3/6] drm/xe: Add job timeout engine property to sysfs Tejas Upadhyay
2023-07-27 14:51   ` Matthew Brost
2023-07-27  8:22 ` [Intel-xe] [PATCH V9 4/6] drm/xe: Add timeslice duration " Tejas Upadhyay
2023-07-27 14:52   ` Matthew Brost
2023-07-27  8:22 ` [Intel-xe] [PATCH V9 5/6] drm/xe: Add sysfs for preempt reset timeout Tejas Upadhyay
2023-07-27 14:54   ` Matthew Brost
2023-07-27  8:22 ` [Intel-xe] [PATCH V9 6/6] drm/xe: Add min/max cap for engine scheduler properties Tejas Upadhyay
2023-07-27 15:26   ` Matthew Brost
2023-07-28  4:44     ` Niranjana Vishwanathapura
2023-07-28  5:04       ` Matthew Brost
2023-07-28  5:54         ` Upadhyay, Tejas
2023-07-28  6:25           ` Niranjana Vishwanathapura
2023-07-28  7:36             ` Upadhyay, Tejas
2023-07-28 14:24               ` Matthew Brost
2023-07-28 14:27                 ` Upadhyay, Tejas
2023-07-28 14:53                   ` Niranjana Vishwanathapura
2023-07-28 14:20             ` Matthew Brost
2023-07-27  8:59 ` [Intel-xe] ✓ CI.Patch_applied: success for drm/xe: Add engine scheduler control interface (rev9) Patchwork
2023-07-27  9:00 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-07-27  9:01 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-07-27  9:05 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-07-27  9:05 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
2023-07-27  9:06 ` [Intel-xe] ✓ CI.checksparse: " Patchwork
2023-07-27  9:40 ` [Intel-xe] ○ CI.BAT: info " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox