[Intel-gfx] [PATCH] drm/i915: Mark i915.inject_load_failure as being hit
Michal Wajdeczko
michal.wajdeczko at intel.com
Wed Jun 6 14:28:49 UTC 2018
On Wed, 06 Jun 2018 16:19:29 +0200, Chris Wilson
<chris at chris-wilson.co.uk> wrote:
> Quoting Chris Wilson (2018-06-06 14:33:19)
>> Quoting Michal Wajdeczko (2018-06-06 14:25:34)
>> > On Wed, 06 Jun 2018 15:09:37 +0200, Chris Wilson
>> > <chris at chris-wilson.co.uk> wrote:
>> >
>> > > When we reach the magic value and do inject a fault into our module
>> load,
>> > > mark the module option as being hit. Since we fail from inside pci
>> > > probe, the module load isn't actually aborted and the module (and
>> > > paramters) are left lingering. igt can then inspect the parameter
>> on its
>> >
>> > typo
>> >
>> > > synchronous completion of modprobe to see if the fault injection was
>> > > successful, and will keeping on injecting new faults until the
>> module
>> > > succeeds in loading having surpassed the number of fault points.
>> > >
>> > > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>> > > Cc: Michał Winiarski <michal.winiarski at intel.com>
>> > > Cc: Imre Deak <imre.deak at intel.com>
>> > > ---
>> > > drivers/gpu/drm/i915/i915_drv.c | 1 +
>> > > drivers/gpu/drm/i915/i915_params.h | 2 +-
>> > > 2 files changed, 2 insertions(+), 1 deletion(-)
>> > >
>> > > diff --git a/drivers/gpu/drm/i915/i915_drv.c
>> > > b/drivers/gpu/drm/i915/i915_drv.c
>> > > index 6b599b1837dc..71b7302e6f8c 100644
>> > > --- a/drivers/gpu/drm/i915/i915_drv.c
>> > > +++ b/drivers/gpu/drm/i915/i915_drv.c
>> > > @@ -67,6 +67,7 @@ bool __i915_inject_load_failure(const char *func,
>> int
>> > > line)
>> > > if (++i915_load_fail_count ==
>> i915_modparams.inject_load_failure) {
>> > > DRM_INFO("Injecting failure at checkpoint %u
>> [%s:%d]\n",
>> > > i915_modparams.inject_load_failure, func,
>> line);
>> > > + i915_modparams.inject_load_failure = -1;
>> >
>> > maybe we can just reset inject_load_failure to 0 then we can
>> > avoid changing modparam type and/or use -1 for other purposes,
>> > like proposed in [1]
>>
>> 0 would be fine for my purpose.
>
> Except i915_error_injected() would suite -1 better. Different plan for
> that one then.
but you can easily fix that:
static bool i915_error_injected(struct drm_i915_private *dev_priv)
{
#if IS_ENABLED(CONFIG_DRM_I915_DEBUG)
- return i915_modparams.inject_load_failure &&
- i915_load_fail_count == i915_modparams.inject_load_failure;
+ return i915_load_fail_count && !i915_modparams.inject_load_failure;
#else
return false;
#endif
More information about the Intel-gfx
mailing list