Re: [PATCH v3 5/6] timerfd: Add support for deferrable timers

From: Thomas Gleixner
Date: Fri Feb 21 2014 - 05:40:17 EST


On Thu, 20 Feb 2014, Anton Vorontsov wrote:
> On Thu, Feb 20, 2014 at 12:09:43PM +0100, Thomas Gleixner wrote:
> > On Thu, 20 Feb 2014, Alexey Perevalov wrote:
> > > From: Anton Vorontsov <anton@xxxxxxxxxx>
> > >
> > > This patch implements a userland-side API for generic deferrable timers,
> > > per linux/timer.h:
> > >
> > > * A deferrable timer will work normally when the system is busy, but
> > > * will not cause a CPU to come out of idle just to service it; instead,
> > > * the timer will be serviced when the CPU eventually wakes up with a
> > > * subsequent non-deferrable timer.
> > >
> > > These timers are crucial for power saving, i.e. periodic tasks that want
> > > to work in background when the system is under use, but don't want to
> > > cause wakeups themselves.
> > >
> > > The deferred timers are somewhat orthogonal to high-res external timers,
> > > since the deferred timer is tied to the system load, not just to some
> > > external decrementer source.
> >
> > Again this changelog makes no sense. What's orthogonal to high-res
> > timers and why are they external?
>
> Not trying to defend the current series, just felt the need clarify this
> one.
>
> By orthogonal I meant that comparing to high resolution timers' use cases,
> deferred timers can be super-low resolution, super inaccurate. We don't
> know exactly when they will fire, all we know is something like "every 0.2
> seconds, iff the system/user is doing something, otherwise don't bother."

Ok.

> As for external (my bad, shouldn't invent personal terminology): the
> hrtimers are tied to some clock source (which is "external" to me), but
> deferred timers are mostly tied to the system's activity.

I see what you mean, but that wants some different wording.

Thanks,

tglx
--
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/