summaryrefslogtreecommitdiff
path: root/emulators/qemu
diff options
context:
space:
mode:
authorgson <gson>2012-05-12 09:56:51 +0000
committergson <gson>2012-05-12 09:56:51 +0000
commit689bf47b4af8ba9ea6b3b292a6e57b89e2c2d544 (patch)
treeb289510a2c193e19f70a8c60e146e281548b73b0 /emulators/qemu
parenta845783d6c26219d367d0fddaa7bad5c7314f247 (diff)
downloadpkgsrc-689bf47b4af8ba9ea6b3b292a6e57b89e2c2d544.tar.gz
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.
Diffstat (limited to 'emulators/qemu')
-rw-r--r--emulators/qemu/Makefile4
-rw-r--r--emulators/qemu/distinfo3
-rw-r--r--emulators/qemu/patches/patch-slirp_tcp__subr.c21
3 files changed, 25 insertions, 3 deletions
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile
index 3507e15ea1f..428218690a3 100644
--- a/emulators/qemu/Makefile
+++ b/emulators/qemu/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.89 2012/03/15 11:53:26 obache Exp $
+# $NetBSD: Makefile,v 1.90 2012/05/12 09:56:51 gson Exp $
DISTNAME= qemu-0.15.1
-PKGREVISION= 4
+PKGREVISION= 5
CATEGORIES= emulators
MASTER_SITES= http://wiki.qemu.org/download/
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index 7a527fe3705..c7acca170b4 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.71 2011/10/19 18:45:42 ryoon Exp $
+$NetBSD: distinfo,v 1.72 2012/05/12 09:56:51 gson Exp $
SHA1 (qemu-0.15.1.tar.gz) = 30cf3b4dabb4b5d8efadb20f364eb8181f317681
RMD160 (qemu-0.15.1.tar.gz) = fd1cfde94f96569af671cc96d1c2e4bad524fd61
@@ -19,3 +19,4 @@ SHA1 (patch-hw_ppc__newworld.c) = a0011c05cd35aff8982b97c3ec669e18c11ad07b
SHA1 (patch-hw_ppc__oldworld.c) = 790daed4d0bdc51628a6252716480510f8c444c8
SHA1 (patch-hw_xilinx__axienet.c) = 6f715e4e2241c3c9006bc571084ca5fd12658f13
SHA1 (patch-ioport.c) = bb0c6671eaf39ef9b846d0ea2633cb1d56edddb1
+SHA1 (patch-slirp_tcp__subr.c) = d2aca58ea0726b76b5f644af27fde0598beaf048
diff --git a/emulators/qemu/patches/patch-slirp_tcp__subr.c b/emulators/qemu/patches/patch-slirp_tcp__subr.c
new file mode 100644
index 00000000000..c919112f829
--- /dev/null
+++ b/emulators/qemu/patches/patch-slirp_tcp__subr.c
@@ -0,0 +1,21 @@
+$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) ==