Re: [PATCH 2.6.23-rc6 Resending] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets

2007-09-21 Thread Davide Libenzi
On Thu, 20 Sep 2007, Nagendra Tomar wrote: > > That's not what POLLOUT means in the Unix meaning. POLLOUT indicates the > > ability to write, and it is not meant as to signal every time a packet > > (skb) is sent on the wire (and the buffer released). > > Aren't they both the same ? Everytime a

Re: [PATCH 2.6.23-rc6 Resending] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets

2007-09-20 Thread Davide Libenzi
On Thu, 20 Sep 2007, Nagendra Tomar wrote: > > --- Davide Libenzi <[EMAIL PROTECTED]> wrote: > > > Looking back at it, I think the current TCP code is right, once you look > > at the "event" to be a output buffer full->with_space transition. > >

Re: [PATCH 2.6.23-rc6 Resending] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets

2007-09-20 Thread Davide Libenzi
On Thu, 20 Sep 2007, Eric Dumazet wrote: > 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 sh

Re: [PATCH 2.6.23-rc6 Resending] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets

2007-09-20 Thread Davide Libenzi
On Wed, 19 Sep 2007, Nagendra Tomar wrote: > The tcp_check_space() function calls tcp_new_space() only if the > SOCK_NOSPACE bit is set in the socket flags. This is causing Edge Triggered > EPOLLOUT events to be missed for TCP sockets, as the ep_poll_callback() > is not called from the wakeup rou

Re: [PATCH 2.6.23-rc6 Resending] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets

2007-09-19 Thread Davide Libenzi
On Wed, 19 Sep 2007, Nagendra Tomar wrote: > 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

Re: [PATCH 2.6.23-rc6 Resending] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets

2007-09-19 Thread Davide Libenzi
On Wed, 19 Sep 2007, David Miller wrote: > From: Nagendra Tomar <[EMAIL PROTECTED]> > 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

Re: [PATCH 2.6.23-rc6] NETWORKING : Edge Triggered EPOLLOUT events get missed for TCP sockets

2007-09-19 Thread Davide Libenzi
On Wed, 19 Sep 2007, Nagendra Tomar wrote: [ ... ] Seems like epoll ate your message too :) Can you repost your bug report and the patch? - Davide - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://v

Re: [take24 3/6] kevent: poll/select() notifications.

2006-11-09 Thread Davide Libenzi
On Thu, 9 Nov 2006, Davide Libenzi wrote: > On Thu, 9 Nov 2006, Evgeniy Polyakov wrote: > > > On Thu, Nov 09, 2006 at 10:51:56AM -0800, Davide Libenzi > > (davidel@xmailserver.org) wrote: > > > On Thu, 9 Nov 2006, Evgeniy Polyakov wrote: > > > > > &

Re: [take24 3/6] kevent: poll/select() notifications.

2006-11-09 Thread Davide Libenzi
On Thu, 9 Nov 2006, Evgeniy Polyakov wrote: > On Thu, Nov 09, 2006 at 10:51:56AM -0800, Davide Libenzi > (davidel@xmailserver.org) wrote: > > On Thu, 9 Nov 2006, Evgeniy Polyakov wrote: > > > > > +static int kevent_poll_callback(struct kevent *k) > > &g

Re: [take24 3/6] kevent: poll/select() notifications.

2006-11-09 Thread Davide Libenzi
On Thu, 9 Nov 2006, Evgeniy Polyakov wrote: > +static int kevent_poll_callback(struct kevent *k) > +{ > + if (k->event.req_flags & KEVENT_REQ_LAST_CHECK) { > + return 1; > + } else { > + struct file *file = k->st->origin; > + unsigned int revents = file-

Re: [take23 0/5] kevent: Generic event handling mechanism.

2006-11-09 Thread Davide Libenzi
On Thu, 9 Nov 2006, Eric Dumazet wrote: > > > Lost forever means? If there are more processes watching some fd (external > > > events), they all get their own copy of the events in their own private > > > epoll fd. It's not that we "steal" things out of the kernel, is not a 1:1 > > > producer/cons

Re: [take23 0/5] kevent: Generic event handling mechanism.

2006-11-08 Thread Davide Libenzi
On Thu, 9 Nov 2006, Eric Dumazet wrote: > Davide Libenzi a ?crit : > > > > I don't care about both ways, but sys_poll() does the same thing epoll does > > right now, so I would not change epoll behaviour. > > > > Sure poll() cannot return a partial coun

Re: [take23 0/5] kevent: Generic event handling mechanism.

2006-11-08 Thread Davide Libenzi
On Wed, 8 Nov 2006, Andrew Morton wrote: > On Wed, 8 Nov 2006 15:51:13 +0100 > Eric Dumazet <[EMAIL PROTECTED]> wrote: > > > [PATCH] eventpoll : In case a fault occurs during copy_to_user(), we should > > report the count of events that were successfully copied into user space, > > instead of E

Re: [take23 3/5] kevent: poll/select() notifications.

2006-11-07 Thread Davide Libenzi
On Tue, 7 Nov 2006, Evgeniy Polyakov wrote: > +static int kevent_poll_wait_callback(wait_queue_t *wait, > + unsigned mode, int sync, void *key) > +{ > + struct kevent_poll_wait_container *cont = > + container_of(wait, struct kevent_poll_wait_container, wait); > + st

Re: [take9 2/2] kevent: poll/select() notifications. Timer notifications.

2006-08-22 Thread Davide Libenzi
On Wed, 16 Aug 2006, Christoph Hellwig wrote: On Mon, Aug 14, 2006 at 10:21:36AM +0400, Evgeniy Polyakov wrote: poll/select() notifications. Timer notifications. This patch includes generic poll/select and timer notifications. kevent_poll works simialr to epoll and has the same issues (callb