On 08-12-15, 14:18, Rafael J. Wysocki wrote:
Well, if the timer function runs on all CPUs at the same time, they all can see skip_work > 1 and none of them will queue the work.
You are talking about code after my patch, right?
Will will all of them see it > 1? At least one of them will see it 0 and queue the work, unless the governor is stopped completely.
You are right, I've overlooked that race (but then it is rather easy to overlook).
Yeah, we (at least I) took a long time to understand that this was the real problem we always had and so fixed it recently.