lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 03 Jun 2013 16:59:56 +0300 From: Eliezer Tamir <eliezer.tamir@...ux.intel.com> To: Eric Dumazet <eric.dumazet@...il.com> CC: David Miller <davem@...emloft.net>, linux-kernel@...r.kernel.org, netdev@...r.kernel.org, Jesse Brandeburg <jesse.brandeburg@...el.com>, Don Skidmore <donald.c.skidmore@...el.com>, e1000-devel@...ts.sourceforge.net, Willem de Bruijn <willemb@...gle.com>, Ben Hutchings <bhutchings@...arflare.com>, Andi Kleen <andi@...stfloor.org>, HPA <hpa@...or.com>, Eilon Greenstien <eilong@...adcom.com>, Or Gerlitz <or.gerlitz@...il.com>, Alex Rosenbaum <alexr@...lanox.com>, Eliezer Tamir <eliezer@...ir.org.il> Subject: Re: [PATCH v8 net-next 5/7] net: simple poll/select low latency socket poll On 03/06/2013 16:15, Eric Dumazet wrote: > On Mon, 2013-06-03 at 11:02 +0300, Eliezer Tamir wrote: >> sock = file->private_data; >> - return sock->ops->poll(file, sock, wait); >> + >> + poll_result = sock->ops->poll(file, sock, wait); >> + >> + if (!(poll_result & (POLLRDNORM | POLLERR | POLLRDHUP | POLLHUP)) && >> + sk_valid_ll(sock->sk) && sk_poll_ll(sock->sk, 1)) >> + poll_result = sock->ops->poll(file, sock, NULL); >> + >> + return poll_result; >> } >> >> static int sock_mmap(struct file *file, struct vm_area_struct *vma) >> > > > In fact, for TCP, POLLOUT event being ready can also be triggered by > incoming messages, as the ACK might allow the user application to push > more data in the write queue. > > And you might check wait->_key to avoid testing flags that user is not > interested into. yes, comparing to _key is more correct. In any case this needs to be completely rewritten for support for working well with a large number of sockets. -Eliezer -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists