Re: [PATCH] drm/i915: Mark i915.inject_load_failure as being hit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 06 Jun 2018 16:19:29 +0200, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxx>
> > Cc: Michał Winiarski <michal.winiarski@xxxxxxxxx>
> > Cc: Imre Deak <imre.deak@xxxxxxxxx>
> > ---
> >  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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux