Re: [PATCH] eventpoll : Suppress a short lived lock from struct file

From: Davide Libenzi
Date: Mon Jul 11 2005 - 09:07:12 EST


On Mon, 11 Jul 2005, Eric Dumazet wrote:

Peter Zijlstra a écrit :
On Mon, 2005-07-11 at 09:18 +0200, Eric Dumazet wrote:

Have you tested the impact of this change on big SMP/NUMA machines?
I hate to see an Altrix crashing to its knees :-)


I tested on a small NUMA machine (2 nodes), with a epoll enabled application,
that use around 100 epoll ctl per second.

Of course, one may write a special benchmark on a BIG SMP/NUMA machine that
defeat these patch, using thousands of epoll ctl per second, but, a normal (well written ?)
epoll application doesnt constantly add/remove epoll ctl.

Should we waste 8 bytes per 'struct file' for a very unlikely micro benchmark ?

Eric, I can't really say I like this one. Not at least after extensive tests run on top of it. You are asking to add a bottleneck to save 8 bytes on an entity that taken alone in more than 120 bytes. Consider that when you have a "struct file" allocated, the cost on the system is not only the struct itself, but all the allocations associated with it. For example, if you consider that a case where you might feel a "struct file" pressure is when you have hundreds of thousands of network connections, the 8 bytes saved compared to all the buffers associated with those sockets boils down to basically nothing.



- Davide