Re: [RFC] Dynamic Tick and Deferrable Timer Support

From: john stultz
Date: Thu Jan 29 2009 - 12:36:18 EST


On Thu, Jan 29, 2009 at 8:29 AM, Jon Hunter <jon-hunter@xxxxxx> wrote:
> Pallipadi, Venkatesh wrote:
> I have spent several weeks trying to suppress kernel timers using the
> deferred timers and lengthen the sleep time. I am now able to get the device
> to sleep for minutes but I found that max_delta_ns is a limiting factor. I
> will be surprised if you can sleep for longer than ~2.15 seconds with the
> current implementation.

As an aside, there are some further hardware limitations in the
timekeeping core that limit the amount of time the hardware can sleep.
For instance, the acpi_pm clocksource wraps every 2.5 seconds or so,
so we have to wake up periodically to sample it to avoid wrapping
issues.

Just to be able to deal with all the different hardware out there, the
timekeeping core expects to wake up twice a second to do this
sampling. It may be possible to push this out if you are using other
clocksources (HPET/TSC), but if sleeps for longer then a second are a
needed feature, we probably will need some infrastructure in the
timekeeping core that can be queried to make sure its safe.

thanks
-john
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/