Messages in this thread | | | Date | Sun, 4 Jan 2015 11:46:30 -0800 | Subject | Re: frequent lockups in 3.18rc4 | From | Linus Torvalds <> |
| |
On Fri, Jan 2, 2015 at 4:27 PM, John Stultz <john.stultz@linaro.org> wrote: > > So I sent out a first step validation check to warn us if we end up > with idle periods that are larger then we expect.
.. not having tested it, this is just from reading the patch, but it would *seem* that it doesn't actually validate the clock reading much at all.
Why? Because most of the time, for crap clocks like HPET, the real limitation will be not the multiplication overflow, but the "mask", which is just 32-bit (or worse - I think the ACPI PM timer might be just 24 bits).
So then you effectively "validate" that the timer difference value fits in mask, but that isn't any validation at all - it's just a truism. Since we by definition mask the difference to just the valid bitmask.
So I really think that the maximum valid clock needs to be narrowed down from the "technically, this clock can count to X".
But maybe I'm wrong, and the multiplication overflow is actually often the real limit. What are the actual values for real timer sources?
Linus
| |