Re: Fw: Re: [Patch][RFC] epoll and half closed TCP connections

From: kuznet@ms2.inr.ac.ru
Date: Mon Jul 14 2003 - 12:39:25 EST


Hello!

> it looks as though _every_ TCP ACK you receive will cause epoll to wake up
> a task which is interested in _any_ socket events,

This is not quite true. sk->write_space() is called only after write
queue is full, and it is exactly one wakeup until the next overflow.

But, actually, yes, it is right observation: one wait queue for all
the socket events is painful. Note, that with current poll() improvements
are suboptimal, tcp_poll() does not know _what_ this poll polls for,
so it has to stand in all the wait queues. The same thing kills lots
of possible improvements.

> further, we might as well admit that POLLHUP should be called
> POLLWRHUP.)

No, really. POLLHUP=POLLRDHUP&POLLWRHUP, plus POLLHUP is unmaskable event.
Yes, SVR4 screwed up its semantics in such extent that it is mostly
meaningless.

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



This archive was generated by hypermail 2b29 : Tue Jul 15 2003 - 22:00:53 EST