Skip to contentSkip to conversation

timers: description

PATCH New Oleg Nesterov 1 participant 1 message Mar 19, 2005

lore
Share & tools
lore
#0 lore raw

cover timers: description

Hello.

These patches are updated version of 'del_timer_sync: proof of concept' 2 patches.

1/5:
unchanded.

2/5:
del_timer_sync() simplified. It is not neccessary to unlock and retry if __TIMER_PENDING has changed, it is only neccessary if timer's base == (timer->_base & ~1) has changed. Also, comments are updated.

3/5:
The reworked del_timer_sync() can't work unless timers are serialized wrt to itself. They are not.
I missed the fact that __mod_timer() can change timer's base while the timer is running.

4/5:
remove memory barrier in __run_timers() and del_timer().

5/5:
kill ugly __get_base(), it was temporal.

The del_singleshot_timer_sync function now unneeded, but it looks like additional test for del_timer_sync(), so it will be removed later.

Btw, add_timer_on() is racy against __mod_timer(), is it worth fixing?

Oleg.