Chris Wilson <[email protected]> writes:

> After Joonas complained about using READ_ONCE() on the only use of the
> variable in the function, where the intent was to simply document that
> the read was intentionally racy and unlocked, I switched the READ_ONCE()
> over to lockless_dereference(). However, in linux-next that has a
> stronger type-check to only allow pointers and is no longer
> interchangeable with READ_ONCE(), see commit 331b6d8c7afc
> ("locking/barriers: Validate lockless_dereference() is used on a pointer
> type")
>
> Reported-by: Stephen Rothwell <[email protected]>
> Fixes: 67d97da34917 ("drm/i915: Only start retire worker when idle")
> Signed-off-by: Chris Wilson <[email protected]>

Reviewed-by: Mika Kuoppala <[email protected]>

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 2 +-
>  drivers/gpu/drm/i915/i915_irq.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index a7852dd0a3d4..20123c09bc18 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -3290,7 +3290,7 @@ i915_gem_retire_work_handler(struct work_struct *work)
>        * We do not need to do this test under locking as in the worst-case
>        * we queue the retire worker once too often.
>        */
> -     if (lockless_dereference(dev_priv->gt.awake))
> +     if (READ_ONCE(dev_priv->gt.awake))
>               queue_delayed_work(dev_priv->wq,
>                                  &dev_priv->gt.retire_work,
>                                  round_jiffies_up_relative(HZ));
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index f6de8dd567a2..2f01b0b959a1 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -3095,7 +3095,7 @@ static void i915_hangcheck_elapsed(struct work_struct 
> *work)
>       if (!i915.enable_hangcheck)
>               return;
>  
> -     if (!lockless_dereference(dev_priv->gt.awake))
> +     if (!READ_ONCE(dev_priv->gt.awake))
>               return;
>  
>       /* As enabling the GPU requires fairly extensive mmio access,
> -- 
> 2.8.1
>
> _______________________________________________
> Intel-gfx mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to