Pavel Machek <pavel@xxxxxx> wrote: > Eric Wong wrote: > > [1] my splice() annoyances: > > * need to create/manage a pipe > > * copy size limited by pipe size > > * doesn't reduce userspace syscalls (just data copy overhead) > > * easy to misuse and starve with blocking sockets + big buffers > > * not many users, so bugs creep in (v3.7.8 was the first usable > > version of the 3.7 series for TCP sockets) > > Could library be created to make it less annoying to use, and harder > to misuse? Maybe, but getting people to use the library would be the hard, too. And a library would not reduce syscalls in the common case. We already have current->splice_pipe for sendfile, so maybe splice can be taught to transparently use that when neither FD is a pipe. I also think a SPLICE_F_DONTWAIT flag might be necessary. It would be a superset of SPLICE_F_NONBLOCK, but also act like MSG_DONTWAIT for the non-pipe socket. > splice man page does not mention pipe size limit... It probably should. I think I discovered it by using it many years ago and burned it into my mind. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html