[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