lkml.org 
[lkml]   [2003]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Fw: Re: [Patch][RFC] epoll and half closed TCP connections
On Mon, 14 Jul 2003 kuznet@ms2.inr.ac.ru wrote:

> > 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.

Indeed. This can be improved though, with some serious work. The poll(2)
and epoll caller supply events he is interested in. We could have
poll_wait() (and f_op->poll()) to accept an events parameter so that the
f_op->poll() code can drop inside separate wait queue depending on what
the caller is waiting for.



- Davide

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

\
 
 \ /
  Last update: 2005-03-22 13:46    [W:0.024 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site