On Tue, 25 Feb 2014, Andy Lutomirski wrote:
> On 02/20/2014 08:23 AM, Alexey Perevalov wrote:
> > From: Anton Vorontsov <an...@enomsg.org>
> > 
> > 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.
> 
> Please don't.  This API sucks for all kinds of reasons:
> 
>  - Why is it a new kind of clock?

We made it a flag already.

>  - How deferrable is deferrable?

Deferrable is infinite.

>  - It adds new core code, which serves no purpose (the problem is
> already solved).

You wish and you're wrong.

    - Make this work with the timer_list stuff for arbitrary clock
      ids. No way we go back to the mess of CLOCK_REALTIME which we
      had before hrtimers

    - No way that we add a gazillion of extra code in timer related
      interfaces to distinguish between deferrable and non deferrable
      timers utilizing a different interface.

> On the other hand, if you added a fancier version of timerfd_settime
> that could explicitly set the slack value (or, equivalently, the
> earliest and latest allowable times), that could be quite useful.
> 
> It's often bugged me that timer slack is per-process.

That's a totally different issue. There is a world aside of timerfd
timers.

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