Messages in this thread |  | | Subject | Re: [RT PATCH 1/2] timers: wakeup all timer waiters | From | Sebastian Andrzej Siewior <> | Date | Thu, 14 Jul 2016 19:14:58 +0200 |
| |
On 07/14/2016 06:13 PM, Steven Rostedt wrote: >> >> -# define wakeup_timer_waiters(b) wake_up(&(b)->wait_for_running_timer) >> +# define wakeup_timer_waiters(b) wake_up_all(&(b)->wait_for_running_timer) > > OK, I just received this patch (way after patch 2) > > I'm assuming that patch two was done such that you don't do a > "wake_up_all" under a spinlock.
No. I pulled in new timer code in and had to redo this part of RT.
While doing so I noticed that we drop the base lock during timer invocations and so it could be possible that we have two invocations of del_timer_sync() on a timer on the same "base" (one after the other). This is patch #1.
After that I saw that we do the wake up under the base lock but there is no reason for it. So here is patch #2.
Patch #1 is something that could happen in theory and I did not run in any problem.
Sebastian
|  |