Re: [PATCH] drm/i915/selftests: Drop struct_mutex around lowlevel pggtt allocation

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

 



Quoting Tvrtko Ursulin (2018-07-03 11:55:28)
> 
> On 03/07/2018 11:07, Chris Wilson wrote:
> > For a ppgtt that we are constructing, there is no struct_mutex
> > dependence so skip it. In the process, also ping the scheduler
> > frequently to try and avoid the NMI watchdog.
> > 
> > Suggested-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
> > References: https://bugs.freedesktop.org/show_bug.cgi?id=107094
> > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
> > ---
> >   drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 13 ++++++-------
> >   1 file changed, 6 insertions(+), 7 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> > index a28ee0cc6a63..fff26bd05f71 100644
> > --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> > +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
> > @@ -142,12 +142,9 @@ static int igt_ppgtt_alloc(void *arg)
> >       if (!USES_PPGTT(dev_priv))
> >               return 0;
> >   
> > -     mutex_lock(&dev_priv->drm.struct_mutex);
> >       ppgtt = __hw_ppgtt_create(dev_priv);
> > -     if (IS_ERR(ppgtt)) {
> > -             err = PTR_ERR(ppgtt);
> > -             goto err_unlock;
> > -     }
> > +     if (IS_ERR(ppgtt))
> > +             return PTR_ERR(ppgtt);
> >   
> >       if (!ppgtt->vm.allocate_va_range)
> >               goto err_ppgtt_cleanup;
> > @@ -166,6 +163,8 @@ static int igt_ppgtt_alloc(void *arg)
> >                       goto err_ppgtt_cleanup;
> >               }
> >   
> > +             cond_resched();
> > +
> 
> This test is also long running? Seeing how it allocates in growing 
> chunks I expected it would finish quick, but it would not?

I'm not sure if the might_sleep/sleep for allocations is credited to us.
The easiest way to be sure is to reschedule explicitly. Anyway, it's the
allocations here that take time, but there's also some time spent
converting pages to WC and filling them with scratch. Again not sure
how much that is credited to us against NMI, but the main one is the
struct_mutex blocking other tasks.
-Chris
_______________________________________________
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