[lkml]   [2007]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 2.6.23-rc6 Resending] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets
Nagendra Tomar a écrit :
> --- Davide Libenzi <> wrote:
>> On Wed, 19 Sep 2007, David Miller wrote:
>>> From: Nagendra Tomar <>
>>> Date: Wed, 19 Sep 2007 15:37:09 -0700 (PDT)
>>>> With the SOCK_NOSPACE check in tcp_check_space(), this epoll_wait call will
>>>> not return, even when the incoming acks free the buffers.
>>>> Note that this patch assumes that the SOCK_NOSPACE check in
>>>> tcp_check_space is a trivial optimization which can be safely removed.
>>> I already replied to your patch posting explaining that whatever is
>>> not setting SOCK_NOSPACE should be fixed instead.
>>> Please address that, thanks.
>> You're not planning of putting the notion of a SOCK_NOSPACE bit inside a
>> completely device-unaware interface like epoll, I hope?
> Definitely not !
> The point is that the "tcp write space available"
> wakeup does not get called if SOCK_NOSPACE bit is not set. This was
> fine when the wakeup was merely a wakeup (since SOCK_NOSPACE bit
> indicated that someone really cared abt the wakeup). Now after the
> introduction of callback'ed wakeups, we might have some work to
> do inside the callback even if there is nobody interested in the wakeup
> at that point of time.
> In this particular case the ep_poll_callback is not getting called and
> hence the socket fd is not getting added to the ready list.

Does it means that with your patch each ACK on a ET managed socket will
trigger an epoll event ?

Maybe your very sensitive high throuput appication needs to set a flag or
something at socket level to ask for such a behavior.

The default should stay as is. That is an event should be sent only if someone
cared about the wakeup.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2007-09-20 08:15    [W:0.089 / U:0.120 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site