-
Andrew Morton authored
Patch from john stultz <johnstul@us.ibm.com> Adds some lost-tick compensation code, which handles the case where time accounting goes wrong due to interrupts being disabled for longer than two ticks. This patch solves the problem by checking when an interrupt occurs if timer->get_offset() is a value greater then 2 ticks. If so, it increments jiffies appropriately. I was concerned that we'd be better off finding and fixing the misbehaving drivers, but it turns out that the main culprits are system management cards over which the kernel has no control. However John has added some debug code which will drop a backtrace on the first five occurrences which will allow us to find-and-fix bad drivers if overruns _are_ due to Linux software. (I disabled this - it was irritating me. Dave Hansen has a patch which allows it to be turned on via a kernel boot parameter, like the x86_64 equiv).
63223091