[Intel-gfx] [PATCH] drm/i915/selftests: Touch the NMI watchdog inside a GTT pass

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Tue Jul 3 12:54:01 UTC 2018


On 03/07/2018 12:07, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2018-07-03 12:00:13)
>>
>> On 03/07/2018 11:25, Chris Wilson wrote:
>>> We want to do a complete pass before checking the timeout, but just in
>>> case the pass is quite slow, touch the NMI watchdog to prevent a
>>> false positive.
>>>
>>> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>>> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>> ---
>>>    drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 8 ++++++++
>>>    1 file changed, 8 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
>>> index eefcf7b84054..71c0654b4b4d 100644
>>> --- a/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
>>> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
>>> @@ -23,6 +23,7 @@
>>>     */
>>>    
>>>    #include <linux/list_sort.h>
>>> +#include <linux/nmi.h>
>>>    #include <linux/prime_numbers.h>
>>>    
>>>    #include "../i915_selftest.h"
>>> @@ -686,6 +687,13 @@ static int pot_hole(struct drm_i915_private *i915,
>>>                        i915_vma_unpin(vma);
>>>                        err = i915_vma_unbind(vma);
>>>                        GEM_BUG_ON(err);
>>> +
>>> +                     /*
>>> +                      * Do a complete pass before timing out, but just
>>> +                      * in case we are running too slow, ping the NMI
>>> +                      * watchdog.
>>> +                      */
>>> +                     touch_nmi_watchdog();
>>>                }
>>>    
>>>                if (igt_timeout(end_time,
>>>
>>
>> Why only in pot_hole, is this the slowest test?
> 
> It's the only test of this style where we don't have the igt_timeout
> (cond_resched) inside the innermost loop.

So.. the obvious question.. :) Why not move igt_timeout to the innermost 
loop and avoid low-level hackery?

Regards,

Tvrtko


More information about the Intel-gfx mailing list