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
commit3b5375ded57f24dd27ac2c16e97644345e7f39b4 (patch)
treeb289510a2c193e19f70a8c60e146e281548b73b0 /emulators/qemu
parent519ae77c38746ce09b6135a01d4e252d32a19d40 (diff)
downloadpkgsrc-3b5375ded57f24dd27ac2c16e97644345e7f39b4.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) ==