Messages in this thread | | | Date | Tue, 18 Sep 2007 13:08:41 +0200 | From | "Michael Kerrisk" <> | Subject | Re: RFC: A revised timerfd API |
| |
Hi Thomas,
> Von: Thomas Gleixner <tglx@linutronix.de> > On Tue, 2007-09-18 at 11:30 +0200, Michael Kerrisk wrote: > > > This way we have it nicely integrated into the posix timer code and keep > > > the existing semantics of posix timers intact. > > > > > > We need to think about the open file descriptor in the timer_delete() > > > case as well, but this should be not too hard to sort out. > > > > This seems like a workable idea also. But note David Härdeman's > > critique of options c & d: the existence of a coupled timerfd > > and a timerid means that the application must maintain a mapping > > between the two, so that after an epoll call (for example) that > > says the timerfd is ready, the timer can be manipulated using > > the corresponding timerfd. This isn't IMO a fatal flaw, but ^^^^^^^ hmmm, of course I meant "timerid" in that last line.
> > it does make the API a little more clumsy. > > Hmm, we might do something like: > > timer_gettime(fd | POSIX_TIMER_FD, .....); > > So the kernel looks up the fd in order to figure out the timer_id, which > needs to be referenced in filep->private_data anyway.
And you'd need similar for timer_settime() and, perhaps, timer_getoverrun(). But it seems slightly ugly, in the same way that my idea in option (d) of returning a file descriptor from timer_create() seems a slightly ugly. (And can we guarantee that the [timerid] space is distinct from the [fd|POSIX_TIMER_FD] space?)
Cheers,
Michael -- Michael Kerrisk maintainer of Linux man pages Sections 2, 3, 4, 5, and 7
Want to help with man page maintenance? Grab the latest tarball at http://www.kernel.org/pub/linux/docs/manpages , read the HOWTOHELP file and grep the source files for 'FIXME'.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |