diff options
author | gson <gson> | 2012-05-12 09:56:51 +0000 |
---|---|---|
committer | gson <gson> | 2012-05-12 09:56:51 +0000 |
commit | 3b5375ded57f24dd27ac2c16e97644345e7f39b4 (patch) | |
tree | b289510a2c193e19f70a8c60e146e281548b73b0 /emulators/qemu | |
parent | 519ae77c38746ce09b6135a01d4e252d32a19d40 (diff) | |
download | pkgsrc-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/Makefile | 4 | ||||
-rw-r--r-- | emulators/qemu/distinfo | 3 | ||||
-rw-r--r-- | emulators/qemu/patches/patch-slirp_tcp__subr.c | 21 |
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) == |