Re: [PATCH RT 1/3] alarmtimer: Prevent live lock in alarm_cancel()

From: Sebastian Andrzej Siewior
Date: Wed Apr 04 2018 - 03:37:29 EST


On 2018-04-03 20:32:36 [+0200], Daniel Wagner wrote:
> Hi Sebastian,
>
> On 03/28/2018 12:07 PM, Sebastian Andrzej Siewior wrote:
> > If alarm_try_to_cancel() requires a retry, then depending on the
> > priority setting the retry loop might prevent timer callback completion
> > on RT. Prevent that by waiting for completion on RT, no change for a
> > non RT kernel.
> >
> > Cc: stable-rt@xxxxxxxxxxxxxxx
>
> How relevant is this serie for trees before eae1c4ae275f ("posix-timers:
> Make use of cancel/arm callbacks")? Patch #2 seems to depend on that change
> which was added in v4.12.

so #1 looks relevant since that alarmtimer was introduced. #2 since the
change you mentioned because after that patch alarmtimer would be
handled wrongly - before you should do the schedule_timout() which
should be fine. And #3 since 3.0+ (since the RCU-readsection was added)
but it is not easy to trigger (you would have to delete the timer while
a callback is waiting for it).

> Thanks,
> Daniel

Sebastian