On 02/13/2012 10:47 PM, Yaniv Kaul wrote:
For both LAN (high bandwidth, high performance) and WAN (high latency) perhaps it may be worthwhile to increase (via socket options) the TCP receive (on the client) and send (on the server) buffers for the display channel? It will cause:
- bigger TCP window (which is good for both cases above)
- some waste of memory (negligible, I think it's enough to increase to 256K or so for each).

I suspect it might make a difference especially in video streaming.

It's a simple patch (I hope - via setsockopt() ) and does not require feature negotiation, but I'm not sure I have the tools to test such change.

Thoughts?
Y.
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Compile tested only, on the server:

diff --git a/server/reds.c b/server/reds.c
index 828ba65..6c52c2a 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -2696,6 +2696,7 @@ static RedLinkInfo *reds_init_client_connection(int socket)
     RedsStream *stream;
     int delay_val = 1;
     int flags;
+    int sndsize = 256 * 1204;

     if ((flags = fcntl(socket, F_GETFL)) == -1) {
         red_printf("accept failed, %s", strerror(errno));
@@ -2712,6 +2713,11 @@ static RedLinkInfo *reds_init_client_connection(int socket)
             red_printf("setsockopt failed, %s", strerror(errno));
         }
     }
+ if (setsockopt(socket, SOL_SOCKET, SO_SNDBUF, (char *)&sndsize, (int)sizeof(sndsize)) == -1) {
+       if (errno != ENOTSUP) {
+ red_printf("setsockopt for SO_SNDBUF failed, %s", strerror(errno));
+       }
+    }

     link = spice_new0(RedLinkInfo, 1);
     stream = spice_new0(RedsStream, 1);

_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to