Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t v6 0/3] tests/intel/xe_fault_injection: Inject errors during xe_guc_ct_send_recv() xe_guc_mmio_send_recv()
@ 2025-04-15  8:27 Satyanarayana K V P
  2025-04-15  8:27 ` [PATCH i-g-t v6 1/3] tests/intel/xe_fault_injection: Make setup_injection_fault() programmable Satyanarayana K V P
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Satyanarayana K V P @ 2025-04-15  8:27 UTC (permalink / raw)
  To: igt-dev; +Cc: Satyanarayana K V P

Use the kernel fault injection infrastructure to test error handling of xe
at probe time when error is injected for functions xe_guc_mmio_send_recv()
and xe_guc_ct_send_recv().

Error can be injected using:
igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv
igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv

All xe_init() kind of functions are called just once during driver probe,
so it is sufficient to fail first/all calls to them. Driver communicates
with the GuC multiple times, and the real failure can happen at different
call, hence the need to inject failure in GuC communication functions,
like guc_mmio_send() or guc_ct_send(), but it can't be just first call or
all calls, but we need to be able to select specific iteration to fail.

To address this problem, an optional input argument is introduced. If the
argument is not set, an error will be injected in every possible function
call starting from first up to the max number of iteration defined by
INJECT_ITERATIONS, currently hardcoded as 100. If the input argument is
set, an error can be injected at specific function call.

Satyanarayana K V P (3):
  tests/intel/xe_fault_injection: Make setup_injection_fault()
    programmable.
  tests/intel/xe_fault_injection: Inject errors in xe_guc_* calls
  tests/intel/xe_fault_injection: Do not assert for probe_guc_fail_*
    functions.

 tests/intel/xe_fault_injection.c | 132 ++++++++++++++++++++++++++++---
 1 file changed, 122 insertions(+), 10 deletions(-)

-- 
2.43.0


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

end of thread, other threads:[~2025-04-21  7:32 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-15  8:27 [PATCH i-g-t v6 0/3] tests/intel/xe_fault_injection: Inject errors during xe_guc_ct_send_recv() xe_guc_mmio_send_recv() Satyanarayana K V P
2025-04-15  8:27 ` [PATCH i-g-t v6 1/3] tests/intel/xe_fault_injection: Make setup_injection_fault() programmable Satyanarayana K V P
2025-04-15 14:31   ` Cavitt, Jonathan
2025-04-21  7:32     ` K V P, Satyanarayana
2025-04-15  8:27 ` [PATCH i-g-t v6 2/3] tests/intel/xe_fault_injection: Inject errors in xe_guc_* calls Satyanarayana K V P
2025-04-15 14:31   ` Cavitt, Jonathan
2025-04-15  8:27 ` [PATCH i-g-t v6 3/3] tests/intel/xe_fault_injection: Do not assert for probe_guc_fail_* functions Satyanarayana K V P
2025-04-17 11:54   ` Bernatowicz, Marcin
2025-04-21  7:31     ` K V P, Satyanarayana
2025-04-15 19:41 ` ✓ i915.CI.BAT: success for tests/intel/xe_fault_injection: Inject errors during xe_guc_ct_send_recv() xe_guc_mmio_send_recv() (rev7) Patchwork
2025-04-15 19:54 ` ✓ Xe.CI.BAT: " Patchwork
2025-04-16  2:34 ` ✗ Xe.CI.Full: failure " Patchwork
2025-04-16  2:53 ` ✗ i915.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