|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] Transforming stdin and stdout pair into a socket |
Date: | Mon, 11 May 2009 21:24:26 -0500 |
User-agent: | Thunderbird 2.0.0.21 (X11/20090320) |
Paul Brook wrote:
I've seen socat, and I could use it as you described. My only objection to this solution is that there is an unneeded process in the middle that just pipes data around... (Instead of socat, I think it would be more efficient to just write a simple application that uses the "new" Linux syscall "splice" that I've just found by mistake yesterday...)In that case you need to fix socat to use splice() when available. I have a hard time believing socat adds measurable overhead, especially if you're already tunnelling over ssh.
splice() doesn't really buy you anything when copying from a socket to another socket. The data is going to get copied just like it would if you dropped to userspace. It's useful if you introduce pipe-to-pipe copies because they'll be eliminated but if you're going from socket -> pipe -> socket it'll be the same as using socat.
Regards, Anthony Liguori
Paul
[Prev in Thread] | Current Thread | [Next in Thread] |