[Intel-gfx] [PATCH] drm/i915: Avoid setting timer->expires to 0

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Fri Apr 3 15:25:53 UTC 2020


On 03/04/2020 08:36, Chris Wilson wrote:
> We use timer->expires == 0 to detect if a timer had been cancelled, but
> it's a valid expiration we could set. Just skip using 0 and set the
> expiry for the next jiffie.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>   drivers/gpu/drm/i915/i915_utils.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_utils.c b/drivers/gpu/drm/i915/i915_utils.c
> index 029854ae65fc..9769d278e800 100644
> --- a/drivers/gpu/drm/i915/i915_utils.c
> +++ b/drivers/gpu/drm/i915/i915_utils.c
> @@ -101,5 +101,5 @@ void set_timer_ms(struct timer_list *t, unsigned long timeout)
>   	 */
>   	barrier();
>   
> -	mod_timer(t, jiffies + timeout);
> +	mod_timer(t, jiffies + timeout ?: 1);
>   }
> 

"Glitch in the matrix" type workaround for timeslicing and preemption 
timeout, at the moment at least. No big deal given the frequency of the 
event and low accuracy requirements.

But since it is a generic helper I think we need a comment pointing that 
out. With that:

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list