| 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
| ||
|
Message-ID: <1301337257.2506.8.camel@edumazet-laptop> Date: Mon, 28 Mar 2011 20:34:17 +0200 From: Eric Dumazet <eric.dumazet@...il.com> To: Viral Mehta <Viral.Mehta@...infotech.com> Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org> Subject: RE: zero copy for relay server Le lundi 28 mars 2011 à 23:48 +0530, Viral Mehta a écrit : > Still, these are two system calls. Yes. Is it a problem ? What kind ? > In addition to this, many things to handle, > 1. if the incoming_fd is blocking, then it will block till 64K data read. Why so ? I dont think so. Try it, like read() of recv(). > 2. I believe underlying PIPE that we are using will also have some size limit > (like in user space 4K or 64K, not sure) What kind of socket is able to deliver more than 64K frames ? > > So, all in all > Why cant we have just one system call which really transfers "length" > bytes of data form one socket to another ? Recv "length" bytes of data > from socket A and send to socket B. > > I wanted to understand if there are any limitations or concerns that we still do > not have any such system call .... ? > The answer is : Once you try to implement this, you'll discover it'll be splice() based, using pipe as a buffer between the sockets. sendfile() is based on top of splice(), but it's faster to use splice(). -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists