[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45E7287D.7000104@densedata.com>
Date: Thu, 01 Mar 2007 20:24:45 +0100
From: Johann Borck <johann.borck@...sedata.com>
To: linux-kernel@...r.kernel.org
Subject: Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists