Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Medium] drm/i915/selftests: unported wedged check in 
i915_request_live_selftests()
--

commit 46c0aca503dcff6d10a11b75ac8ca3cd05b6385a
Author: Krzysztof Niemiec <[email protected]>

drm/i915/selftests: Port GT-dependent selftests to work with multi-GT 
(low-hanging fruits part 2)

This commit updates top-level i915 selftest entry points that do not take a GT
directly to check all GTs via for_each_gt() and abort if any GT is wedged.

[ ... ]

> diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c 
> b/drivers/gpu/drm/i915/selftests/i915_request.c
> index e1a7c454a0a9d..6bf8ba4744974 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_request.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_request.c
> @@ -3295,9 +3295,13 @@ int i915_request_perf_selftests(struct 
> drm_i915_private *i915)
>               SUBTEST(perf_series_engines),
>               SUBTEST(perf_parallel_engines),
>       };
> +     struct intel_gt *gt;
> +     unsigned int id;
>  
> -     if (intel_gt_is_wedged(to_gt(i915)))
> -             return 0;
> +     for_each_gt(gt, i915, id) {
> +             if (intel_gt_is_wedged(gt))
> +                     return 0;
> +     }

[Severity: Medium]
Should i915_request_live_selftests() in
drivers/gpu/drm/i915/selftests/i915_request.c also be updated to iterate over
all GTs with for_each_gt() like i915_request_perf_selftests() here and
intel_memory_region_live_selftests() in
drivers/gpu/drm/i915/selftests/intel_memory_region.c?

Currently, i915_request_live_selftests() still checks only the primary GT:

int i915_request_live_selftests(struct drm_i915_private *i915)
{
        ...
        if (intel_gt_is_wedged(to_gt(i915)))
                return 0;

        return i915_live_subtests(tests, i915);
}

Its subtests (such as live_nop_request(), live_all_engines(),
live_sequential_engines(), and live_parallel_engines()) do not reference
to_gt(i915) and instead iterate across all UABI engines on all GTs via
for_each_uabi_engine(), finishing with igt_live_test_end() ->
igt_flush_test().

If a secondary GT is wedged while GT0 is healthy,
i915_request_live_selftests() will not skip and will instead run against the
wedged GT's engines and fail with -EIO in igt_flush_test().

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=2

Reply via email to