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

From: Johann Borck
Date: Thu Mar 01 2007 - 14:10:59 EST


On Thu, Mar 01, 2007 at 04:41:27PM +0100, Eric Dumazet wrote:

I had to loop on accept() :

for (i=0; i<num; ++i) {
if (event[i].data.fd == main_server_s) {
do {
err = evtest_callback_main(event[i].data.fd);
} while (err != -1);
}
else
err = evtest_callback_client(event[i].data.fd);
}

Or else we can miss an event forever...
On Thu, 1 Mar 2007, Evgeniy Polyakov wrote:

The same here - I would just enable a debug to find it.



I reported this a while ago and suggested to have the number of pending accepts reported with the event to save that last syscall.
I created an ab replacement based on kevent, and at least with my machines, which are comparable to each other, the load on client dropped from 100% to 2% or something. ab just doesn't give meaningful results (if the client is not way more powerful). With that new client I get very similar results for epoll and kevent, from 1000 through to 26000 concurrent requests, the results have been posted on kevent-homepage in october, I just checked it with new version, but there's no significant difference.

this is the benchmark with kevent-based client:
http://tservice.net.ru/~s0mbre/blog/2006/10/11#2006_10_11
btw, each result is average over 1,000,000 requests

and just for comparison, this is on the same machines using ab:
http://tservice.net.ru/~s0mbre/blog/2006/10/08#2006_10_08

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