Sat May 12 09:56:51 2012 UTC ()
When setting up an outgoing user mode networking TCP connection,
disable the Nagle algorithm in the host-side connection.  Either
the VM is already doing Nagle, in which case there is no point
in doing it twice, or it has chosen to disable it, in which case
we should respect that choice.  This change speeds up GDB remote
debugging over TCP over user mode networking by multiple orders
of magnitude.


(gson)
diff -r1.89 -r1.90 pkgsrc/emulators/qemu/Makefile
diff -r1.71 -r1.72 pkgsrc/emulators/qemu/distinfo
diff -r0 -r1.1 pkgsrc/emulators/qemu/patches/patch-slirp_tcp__subr.c

cvs diff -r1.89 -r1.90 pkgsrc/emulators/qemu/Makefile (expand / switch to unified diff)

--- pkgsrc/emulators/qemu/Makefile 2012/03/15 11:53:26 1.89
+++ pkgsrc/emulators/qemu/Makefile 2012/05/12 09:56:51 1.90
@@ -1,17 +1,17 @@ @@ -1,17 +1,17 @@
1# $NetBSD: Makefile,v 1.89 2012/03/15 11:53:26 obache Exp $ 1# $NetBSD: Makefile,v 1.90 2012/05/12 09:56:51 gson Exp $
2 2
3DISTNAME= qemu-0.15.1 3DISTNAME= qemu-0.15.1
4PKGREVISION= 4 4PKGREVISION= 5
5CATEGORIES= emulators 5CATEGORIES= emulators
6MASTER_SITES= http://wiki.qemu.org/download/ 6MASTER_SITES= http://wiki.qemu.org/download/
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://www.qemu.org/ 9HOMEPAGE= http://www.qemu.org/
10COMMENT= CPU emulator using dynamic translation 10COMMENT= CPU emulator using dynamic translation
11LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd 11LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
12 12
13PKG_DESTDIR_SUPPORT= user-destdir 13PKG_DESTDIR_SUPPORT= user-destdir
14 14
15CONFLICTS+= qemu-bin-[0-9]* 15CONFLICTS+= qemu-bin-[0-9]*
16NOT_FOR_PLATFORM= NetBSD-1.[0-6]*-* 16NOT_FOR_PLATFORM= NetBSD-1.[0-6]*-*
17 17

cvs diff -r1.71 -r1.72 pkgsrc/emulators/qemu/distinfo (expand / switch to unified diff)

--- pkgsrc/emulators/qemu/distinfo 2011/10/19 18:45:42 1.71
+++ pkgsrc/emulators/qemu/distinfo 2012/05/12 09:56:51 1.72
@@ -1,21 +1,22 @@ @@ -1,21 +1,22 @@
1$NetBSD: distinfo,v 1.71 2011/10/19 18:45:42 ryoon Exp $ 1$NetBSD: distinfo,v 1.72 2012/05/12 09:56:51 gson Exp $
2 2
3SHA1 (qemu-0.15.1.tar.gz) = 30cf3b4dabb4b5d8efadb20f364eb8181f317681 3SHA1 (qemu-0.15.1.tar.gz) = 30cf3b4dabb4b5d8efadb20f364eb8181f317681
4RMD160 (qemu-0.15.1.tar.gz) = fd1cfde94f96569af671cc96d1c2e4bad524fd61 4RMD160 (qemu-0.15.1.tar.gz) = fd1cfde94f96569af671cc96d1c2e4bad524fd61
5Size (qemu-0.15.1.tar.gz) = 9576745 bytes 5Size (qemu-0.15.1.tar.gz) = 9576745 bytes
6SHA1 (patch-aa) = ca39d409081cd7d9f038d580c5b90ffca46948ec 6SHA1 (patch-aa) = ca39d409081cd7d9f038d580c5b90ffca46948ec
7SHA1 (patch-ao) = 610e77fd51595f0f77b82a745d0a546712f6442d 7SHA1 (patch-ao) = 610e77fd51595f0f77b82a745d0a546712f6442d
8SHA1 (patch-ba) = c8ad6502b0693cc22a79f89d2935d962066b5d91 8SHA1 (patch-ba) = c8ad6502b0693cc22a79f89d2935d962066b5d91
9SHA1 (patch-bb) = 17255a240062acfe87401c2168158687f2ebcd20 9SHA1 (patch-bb) = 17255a240062acfe87401c2168158687f2ebcd20
10SHA1 (patch-dd) = 20637d652963c94c5fe7999f27c31c7fd8864e43 10SHA1 (patch-dd) = 20637d652963c94c5fe7999f27c31c7fd8864e43
11SHA1 (patch-ed) = 7a77ba9b33d654c9f8278d69f81a2fc06e17a7d3 11SHA1 (patch-ed) = 7a77ba9b33d654c9f8278d69f81a2fc06e17a7d3
12SHA1 (patch-ef) = f26f1b860cca477d5e80c9cb2755c8dc6fa593ac 12SHA1 (patch-ef) = f26f1b860cca477d5e80c9cb2755c8dc6fa593ac
13SHA1 (patch-eg) = 1f3a0320344d930c8df97e322411de3136f398d7 13SHA1 (patch-eg) = 1f3a0320344d930c8df97e322411de3136f398d7
14SHA1 (patch-eh) = c79b915f08941af95611aa43c8c9a342486632d4 14SHA1 (patch-eh) = c79b915f08941af95611aa43c8c9a342486632d4
15SHA1 (patch-ei) = e2ffd48420e7aa0f0507a741afe6f24c6f06e4c9 15SHA1 (patch-ei) = e2ffd48420e7aa0f0507a741afe6f24c6f06e4c9
16SHA1 (patch-en) = 267500f7c11efacdf1a9ae323595e0469aa791c9 16SHA1 (patch-en) = 267500f7c11efacdf1a9ae323595e0469aa791c9
17SHA1 (patch-et) = 53b38e0fbe12c4d199997327b66248f125988a4c 17SHA1 (patch-et) = 53b38e0fbe12c4d199997327b66248f125988a4c
18SHA1 (patch-hw_ppc__newworld.c) = a0011c05cd35aff8982b97c3ec669e18c11ad07b 18SHA1 (patch-hw_ppc__newworld.c) = a0011c05cd35aff8982b97c3ec669e18c11ad07b
19SHA1 (patch-hw_ppc__oldworld.c) = 790daed4d0bdc51628a6252716480510f8c444c8 19SHA1 (patch-hw_ppc__oldworld.c) = 790daed4d0bdc51628a6252716480510f8c444c8
20SHA1 (patch-hw_xilinx__axienet.c) = 6f715e4e2241c3c9006bc571084ca5fd12658f13 20SHA1 (patch-hw_xilinx__axienet.c) = 6f715e4e2241c3c9006bc571084ca5fd12658f13
21SHA1 (patch-ioport.c) = bb0c6671eaf39ef9b846d0ea2633cb1d56edddb1 21SHA1 (patch-ioport.c) = bb0c6671eaf39ef9b846d0ea2633cb1d56edddb1
 22SHA1 (patch-slirp_tcp__subr.c) = d2aca58ea0726b76b5f644af27fde0598beaf048

File Added: pkgsrc/emulators/qemu/patches/Attic/patch-slirp_tcp__subr.c
$NetBSD: patch-slirp_tcp__subr.c,v 1.1 2012/05/12 09:56:51 gson Exp $

When setting up an outgoing user mode networking TCP connection,
disable the Nagle algorithm in the host-side connection.  Either
the VM is already doing Nagle, in which case there is no point
in doing it twice, or it has chosen to disable it, in which case
we should respect that choice.  This change speeds up GDB remote
debugging over TCP over user mode networking by multiple orders
of magnitude.

--- slirp/tcp_subr.c.orig	2011-10-12 16:41:43.000000000 +0000
+++ slirp/tcp_subr.c
@@ -334,6 +334,8 @@ int tcp_fconnect(struct socket *so)
     setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(opt ));
     opt = 1;
     setsockopt(s,SOL_SOCKET,SO_OOBINLINE,(char *)&opt,sizeof(opt ));
+    opt = 1;
+    setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(char *)&opt,sizeof(int));
 
     addr.sin_family = AF_INET;
     if ((so->so_faddr.s_addr & slirp->vnetwork_mask.s_addr) ==