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

Ingo Molnar
2007-03-01T14:55:26Z

* Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:

> CPU: AMD64 processors, speed 2210.08 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 100000
> samples % symbol name
> 195750 67.3097 cpu_idle
> 14111 4.8521 enter_idle
> 4979 1.7121 IRQ0x51_interrupt
> 4765 1.6385 tcp_v4_rcv

the pretty much only meaningful way to measure this is to:

- start a really long 'ab' testrun. Something like "ab -c 8000 -t 600".
- let the system get into 'steady state': i.e. CPU load at 100%
- reset the oprofile counters, then start an oprofile run for 60
seconds.
- stop the oprofile run.
- stop the test.

this way there wont be that many 'cpu_idle' entries in your profiles,
and the profiles between the two event delivery mechanisms will be
directly comparable.

> In that tests I got epoll perf about 4400 req/s, kevent was about
> 5300.

So we are now up to epoll being 83% of kevent's performance - while the
noise of numbers seen today alone is around 100% ... Could you update
the files two URLs that you posted before, with the code that you used
for the above numbers:

http://tservice.net.ru/~s0mbre/archive/kevent/evserver_epoll.c
http://tservice.net.ru/~s0mbre/archive/kevent/evserver_kevent.c

thanks,

Ingo