[PATCH i-g-t 0/4] Add SR-IOV provisioning scheduling attributes and tests

Marcin Bernatowicz marcin.bernatowicz at linux.intel.com
Mon Jan 20 20:34:41 UTC 2025


Add helper functions to get and set SR-IOV provisioning scheduling
attributes. These functions provide an interface for accessing
provisioning attributes such as execution quantum, preemption timeout,
schedule if idle policy, schedule priority, and engine reset policy.
Include both returning and asserting versions to handle errors
appropriately.

Introduce a function to validate default SR-IOV scheduling attributes
for VFs and PF. This function skips the test if non-default attributes
are detected. The default attributes verified include:
- exec_quantum_ms set to 0 (infinite execution quantum)
- preempt_timeout_us set to 0 (infinite preemption timeout)
- sched_if_idle set to false
- reset_engine set to false
- sched_priority set to XE_SRIOV_SCHED_PRIORITY_LOW

Implement equal-throughput validation for VFs (PF is treated as VF0)
with identical workloads and scheduling settings.
Scheduling settings are adjusted to consider execution quantum, job
duration, and the number of VFs, while adhering to timeout constraints
and aiming for a sufficient number of job repeats. This approach
balances overall test duration with accuracy.

Verify the occurrence of engine resets
when non-preemptible workloads surpass the combined
duration of execution quantum and preemption timeout.

Cc: Adam Miszczak <adam.miszczak at linux.intel.com>
Cc: Jakub Kolakowski <jakub1.kolakowski at intel.com>
Cc: Lukasz Laguna <lukasz.laguna at intel.com>
Cc: Michał Wajdeczko <michal.wajdeczko at intel.com>
Cc: Michał Winiarski <michal.winiarski at intel.com>
Cc: Narasimha C V <narasimha.c.v at intel.com>
Cc: Piotr Piórkowski <piotr.piorkowski at intel.com>
Cc: Satyanarayana K V P <satyanarayana.k.v.p at intel.com>
Cc: Tomasz Lis <tomasz.lis at intel.com>

Marcin Bernatowicz (4):
  lib/xe/xe_sriov_provisioning: Add scheduling attributes accessors
  lib/xe/xe_sriov_provisioning: Add helper to check default scheduling
    attributes
  tests/xe_sriov_scheduling: VF equal-throughput validation
  tests/xe_sriov_scheduling: nonpreempt-engine-resets subtest

 lib/xe/xe_sriov_provisioning.c    | 411 ++++++++++++++-
 lib/xe/xe_sriov_provisioning.h    |  54 ++
 tests/intel/xe_sriov_scheduling.c | 824 ++++++++++++++++++++++++++++++
 tests/meson.build                 |   1 +
 4 files changed, 1289 insertions(+), 1 deletion(-)
 create mode 100644 tests/intel/xe_sriov_scheduling.c

-- 
2.31.1



More information about the igt-dev mailing list