Re: [tip: timers/core] hrtimer: Annotate lockless access to timer->state

From: Eric Dumazet
Date: Thu Nov 07 2019 - 11:35:44 EST


On Thu, Nov 7, 2019 at 8:11 AM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:
>
> OK, so this is due to timer_pending() lockless access to ->entry.pprev
> to determine whether or not the timer is on the list. New one on me!
>
> Given that use case, I don't have an objection to your patch to list.h.
>
> Except...
>
> Would it make sense to add a READ_ONCE() to hlist_unhashed()
> and to then make timer_pending() invoke hlist_unhashed()? That
> would better confine the needed uses of READ_ONCE().

Sounds good to me, I had the same idea but was too lazy to look at the
history of timer_pending()
to check if the pprev pointer check was really the same underlying idea.