Re: [patch 6/9] signalfd/timerfd v1 - timerfd core ...

Davide Libenzi
2007-03-11T01:57:46Z

On Sat, 10 Mar 2007, Nicholas Miell wrote:

> If that's the goal, somebody should start thinking about reducing the
> contents of struct file to the bare minimum (i.e. not much more than a
> file_operations pointer).

That's already pretty smal, and the single inode (and maybe dentry) will
make it even smaller. Unless you want to create brazillions of signalfds,
timerfds or asyncfds.

> > And the real point of the whole signalfd() is that there really *are* a
> > lot of UNIX interfaces that basically only work with file descriptors. Not
> > just read, but select/poll/epoll.
>
> It'd be useful if the polling interfaces could return small datums
> beyond just the POLL* flags -- having to do a read on timerfd just to
> get the overrun count has a lot of overhead for just an integer, and I
> imagine other things would like to pass back stuff too.
...

> You still want timeouts, creating/setting/destroying at timer just for
> a single call to select/poll/epoll is probably too heavy weight.

Take a look at what timerfd does and what posix timers has to do to
implement the interface. You'll prolly stop trolling with things like "a
lot of overhead" or "too heavy weight".

> timerfd() still leaves out the basic clock selection functionality
> provided by both setitimer() and timer_create().

That is coming as soon as I fixed my send-serie script ...

- Davide