Messages in this thread |  | | | Date | Wed, 27 May 2009 23:12:35 +0200 (CEST) | | From | Thomas Gleixner <> | | Subject | Re: [PATCH 1/2] Dynamic Tick: Prevent clocksource wrapping during idle |
| |
On Wed, 27 May 2009, Alok Kataria wrote:
> On Wed, May 27, 2009 at 7:49 AM, Jon Hunter <jon-hunter@ti.com> wrote: > > > > The dynamic tick allows the kernel to sleep for periods longer than a single > > tick. This patch prevents that the kernel from sleeping for a period longer > > than the maximum time that the current clocksource can count. This ensures > > that the kernel will not lose track of time. This patch adds a new function > > called "timekeeping_max_deferment()" that calculates the maximum time the > > kernel can sleep for a given clocksource. > > > > >From the patch description I understand that this will avoid wrapping > around for only the *current* clocksource. What happens if, say, TSC > is the clocksource and ACPI_PM is being used as the > watchdog_clocksource, in that case the timekeeping_max_deferement will > give TSC' max allowed sleep value (which is greater than ACPI_PMs). > i.e. We could still sleep beyond ACPI_PM's wrap around threshold which > may result in us marking TSC as unsuable as a clocksource. > That could still result in incorrect timekeeping right ?
No, because the watchdog timer takes care of that. It wakes up at time.
Thanks,
tglx
|  |