Messages in this thread | | | Date | Thu, 01 Mar 2007 20:24:45 +0100 | From | Johann Borck <> | 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |