Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 i-g-t 0/5] Add SR-IOV provisioning scheduling attributes and tests
@ 2025-02-12 18:47 Marcin Bernatowicz
  2025-02-12 18:47 ` [PATCH v2 i-g-t 1/5] lib/xe/xe_sriov_provisioning: Add scheduling attributes accessors Marcin Bernatowicz
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Marcin Bernatowicz @ 2025-02-12 18:47 UTC (permalink / raw)
  To: igt-dev
  Cc: Marcin Bernatowicz, Adam Miszczak, Jakub Kolakowski,
	Lukasz Laguna, Michał Wajdeczko, Michał Winiarski,
	Narasimha C V, Piotr Piórkowski, Satyanarayana K V P,
	Tomasz Lis

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.

v2:
- After review corrections (update description, remove magic numbers,
  remove debug message for consistency with the remaining code,
  remove short command line options) (Lukasz)
- Refactor scheduling parameter preparation for reuse in other tests
- Replace hardcoded JOB_TIMEOUT_MS with sysfs_get_job_timeout_ms() to
  dynamically retrieve the value.

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

Marcin Bernatowicz (5):
  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
  tests/xe_sriov_scheduling: Get job timeout from sysfs

 lib/xe/xe_sriov_provisioning.c    | 410 ++++++++++++++-
 lib/xe/xe_sriov_provisioning.h    |  55 +-
 tests/intel/xe_sriov_scheduling.c | 821 ++++++++++++++++++++++++++++++
 tests/meson.build                 |   1 +
 4 files changed, 1285 insertions(+), 2 deletions(-)
 create mode 100644 tests/intel/xe_sriov_scheduling.c

-- 
2.31.1


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

end of thread, other threads:[~2025-02-14 14:33 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-12 18:47 [PATCH v2 i-g-t 0/5] Add SR-IOV provisioning scheduling attributes and tests Marcin Bernatowicz
2025-02-12 18:47 ` [PATCH v2 i-g-t 1/5] lib/xe/xe_sriov_provisioning: Add scheduling attributes accessors Marcin Bernatowicz
2025-02-12 18:47 ` [PATCH v2 i-g-t 2/5] lib/xe/xe_sriov_provisioning: Add helper to check default scheduling attributes Marcin Bernatowicz
2025-02-12 18:47 ` [PATCH v2 i-g-t 3/5] tests/xe_sriov_scheduling: VF equal-throughput validation Marcin Bernatowicz
2025-02-14 14:32   ` Laguna, Lukasz
2025-02-12 18:47 ` [PATCH v2 i-g-t 4/5] tests/xe_sriov_scheduling: nonpreempt-engine-resets subtest Marcin Bernatowicz
2025-02-14 14:32   ` Laguna, Lukasz
2025-02-12 18:47 ` [PATCH v2 i-g-t 5/5] tests/xe_sriov_scheduling: Get job timeout from sysfs Marcin Bernatowicz
2025-02-14 10:21   ` K V P, Satyanarayana
2025-02-14 14:33   ` Laguna, Lukasz
2025-02-13  3:01 ` ✓ i915.CI.BAT: success for Add SR-IOV provisioning scheduling attributes and tests (rev2) Patchwork
2025-02-13  3:38 ` ✓ Xe.CI.BAT: " Patchwork
2025-02-13 12:46 ` ✗ i915.CI.Full: failure " Patchwork
2025-02-13 15:02   ` Bernatowicz, Marcin
2025-02-13 16:51 ` ✗ Xe.CI.Full: " Patchwork

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