Re: [PATCH] Revised timerfd() interface

From: Davide Libenzi
Date: Tue Sep 04 2007 - 11:25:47 EST


On Tue, 4 Sep 2007, Andrew Morton wrote:

> > On Tue, 04 Sep 2007 10:03:56 +0200 Michael Kerrisk <mtk-manpages@xxxxxxx> wrote:
> > Davide,
> >
> > >> Davide -- ping! Can you please offer your comments about this change, and
> > >> also thoughts on Jon's and my comments about a more radical API change
> > >> later in this thread.
> > >
> > > IMO the complexity of the resulting API (and resulting patch), and the ABI
> > > change, is not justified by the added value.
> >
> > Neither of the proposed APIs (either my multiplexed version of timerfd()
> > or Jon's/my idea of using three system calls (like POSIX timers), or
> > the notion of timerfd() integrated with POSIX timers) is more
> > complicated than the existing POSIX timers API.
> >
> > The ABI change doesn't really matter, since timerfd() was broken in 2.6.22
> > anyway.
> >
> > Both previous APIs provided the features I have described provide:
> >
> > * the ability to fetch the old timer value when applying
> > a new setting
> >
> > * the ability to non-destructively fetch the amount of time remaining
> > on a timer.
> >
> > This is clearly useful for timers -- but you have not explained why
> > you think this is not necessary for timerfd timers.
>
> <wakes up>
>
> I'd have thought that the existing stuff would be near-useless without the
> capabilities which you describe?

Useless like it'd be a motorcycle w/out a cup-holder :)
Seriously, the ability to get the previous values from "something" could
have a meaning if this something is a shared global resource (like signals
for example). In the timerfd case this makes little sense, since you can
create as many timerfd as you like and you do not need to share a single
one by changing/restoring the original context.
On top of that, the cup-holder addition would cost in terms of API clarity
(or in terms of two additional system calls in the other case), and in
terms of kernel code footprint. Costs that IMO are not balanced by the
added values.



- Davide


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