Deferrable timers are beneficial for power saving. They behave like
standard timers except that their expiry can be delayed up to the
expiry of the next non deferred timer. That prevents them from waking
up cpus from deep idle periods.

Right now deferrable timers are only available in the timer wheel and
therefor not available to user space applications. Though user space
applications want to optimize their timer usage for power consumption
as well, so exposing deferred timers via the existing timer APIs is
required.

There is no way to bring back timer wheel timers to user space
interfaces as they would reintroduce the problems of CLOCK_REALTIME
and clock setting again and add quite some mess to the various
interfaces.

So the proper solution is to extend the hrtimer functionality with
a deferrable mode.

The following series adds the functionality and makes it accessible
via the clock_nanosleep, timer_settime and timerfd_settime syscalls.

This series is RFC and largely untested.

Thanks,

        tglx

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

Reply via email to