[Intel-xe] [PATCH V13 0/6] drm/xe: Add engine scheduler control interface
Tejas Upadhyay
tejas.upadhyay at intel.com
Fri Aug 4 13:04:46 UTC 2023
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
V13:
- Add missing drmm_add_action_or_reset and remove sysfs files
V12:
- Rebase on tip
V11:
- Make engine_get_prop_minmax and enforce_sched_limit static - Matt
- use enum in place of string in engine_get_prop_minmax - Matt
- no need to use enforce_sched_limit or no need to filter min/max
per user type in sysfs - Matt
- Dont include xe_gt.h in individual .h - Matt
V10:
- Add kernel doc for non static APIs - Matt
- Add helper for getting min-max range - Matt
- Filter min/max based on user type
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 at intel.com>
Signed-off-by: Tejas Upadhyay <tejas.upadhyay at 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_exec_queue.c | 96 ++-
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 | 675 ++++++++++++++++++
drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h | 36 +
drivers/gpu/drm/xe/xe_hw_engine_types.h | 37 +
12 files changed, 948 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
More information about the Intel-xe
mailing list