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

Ingo Molnar
2007-03-01T11:55:10Z

* Ingo Molnar <mingo@elte.hu> 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:

this one in evserver_kevent.c looks problematic too:

shutdown(s, SHUT_RDWR);
close(s);

as evserver_epoll.c only does:

close(s);

again, there might be TCP control flow differences due to this. [ Or the
removal of this shutdown() call might be a small speedup for the kevent
case ;) ]

Also, the order of fd and socket close() is different in the two cases.
It shouldnt make any difference - but that too just makes the results
harder to trust. Would it be so hard to introduce a single
handle_web_request() function that is exactly the same in the two tests?
All the queueing details (which are of course different in the epoll and
the kevent case) should be in the client function, which calls
handle_web_request().

Ingo