Messages in this thread | | | Date | Thu, 1 Mar 2007 12:41:37 +0100 | From | Ingo Molnar <> | Subject | Re: [patch 00/13] Syslets, "Threadlets", generic AIO support, v3 |
| |
* Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
> I also changed client socket to nonblocking mode with the same result > in epoll server. If you will find it broken, please send me corrected > to test too.
this line in evserver_kevent.c looks a bit fishy:
err = recv(s, buf, 100, 0);
because on the evserver_epoll.c side the following is done:
err = recv(s, buf, 4096, 0);
now, for 'ab', the request size is 76 bytes, so it should fit fine functionality-wise. But, the TCP stack might decide differently of whether to return with a partial packet depending on how much data is requested. I dont know whether it actually makes a difference in the TCP flow decisions, and whether it makes a performance difference in your test, but safest would be to use 4096 in both cases.
in general, please make sure the exact same system calls are done in the client function. (except of course for the event queueing syscalls themselves)
Ingo - 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/
| |