Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3

From: Evgeniy Polyakov
Date: Tue Feb 27 2007 - 12:10:39 EST


On Tue, Feb 27, 2007 at 05:58:14PM +0100, Eric Dumazet (dada1@xxxxxxxxxxxxx) wrote:
> I believe one advantage of epoll is it uses standard mechanism (mandated for
> poll()/select() ), while kevent adds some glue and kevent_storage in some
> structures (struct inode, struct file, ...), thus adding some extra code and
> extra storage in hot paths. Yes there might be a gain IF most users of these
> path want kevent. But other users pay the price (larger kernel code and
> data), that you cannot easily bench.
>
> Using or not epoll has nearly zero cost over standard kernel (only struct file
> has some extra storage)

Well, that's a price - any event which wants to be supported needs to
store for events - kevent_storage is a list_head plus spinlock and
pointer to itself (with all current users that pointer can be removed and
access transferred to container_of()) - it is exactly as in epoll storage -
both were created with the smallest possible overhead in mind.

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