Messages in this thread | | | Date | Thu, 20 Sep 2007 08:11:48 +0200 | From | Eric Dumazet <> | Subject | Re: [PATCH 2.6.23-rc6 Resending] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets |
| |
Nagendra Tomar a écrit : > --- Davide Libenzi <davidel@xmailserver.org> wrote: > >> On Wed, 19 Sep 2007, David Miller wrote: >> >>> From: Nagendra Tomar <tomer_iisc@yahoo.com> >>> 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 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/
| |