Re: [take9 2/2] kevent: poll/select() notifications. Timer notifications.
From: Evgeniy Polyakov <hidden>
Date: 2006-08-18 11:15:28
Also in:
lkml
On Fri, Aug 18, 2006 at 11:41:20AM +0100, Christoph Hellwig (hch@infradead.org) wrote:
On Wed, Aug 16, 2006 at 05:40:32PM +0400, Evgeniy Polyakov wrote:quoted
quoted
What speaks against a patch the recplaces the epoll core by something that build on kevent while still supporting the epoll interface as a compatibility shim?There is no problem from my side, but epoll and kevent_poll differs on some aspects, so it can be better to not replace them for a while.Please explain the differences and why they are important. We really shouldn't keep on adding code without beeing able to replace older bits. If there's a really good reason we can keep things separate, but "epoll and kevent_poll differs on some aspects" is not one :)
kevent_poll uses hash table (actually it is kevent that uses table), locking is simpler and part of it is hidden in kevent core. Actually kevent_poll is just a container allocator for poll wait queue. So epoll does not differ (except hash/tree and locking, which is based on locks for pathes which are shared in kevent with those ones which can be called from irq/bh context) from kevent + kevent_poll. And since kevent_poll can be not selected while epoll is always there (until embedded config is turned on), I recommend to have them both. Or always turn kevent on :) -- Evgeniy Polyakov