Messages in this thread | | | Date | Wed, 18 Nov 2015 23:32:28 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH v3 01/22] timer: Allow to check when the timer callback has not finished yet |
| |
On Wed, 18 Nov 2015, Petr Mladek wrote: > timer_pending() checks whether the list of callbacks is empty. > Each callback is removed from the list before it is called, > see call_timer_fn() in __run_timers(). > > Sometimes we need to make sure that the callback has finished. > For example, if we want to free some resources that are accessed > by the callback. > > For this purpose, this patch adds timer_active(). It checks both > the list of callbacks and the running_timer. It takes the base_lock > to see a consistent state. > > I plan to use it to implement delayed works in kthread worker. > But I guess that it will have wider use. In fact, I wonder if > timer_pending() is misused in some situations.
Well. That's nice and good. But how will that new function solve anything? After you drop the lock the state is not longer valid.
Thanks,
tglx
| |