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.
This commit is contained in:
parent
d2e7e05560
commit
1d3f55c61b
3 changed files with 25 additions and 3 deletions
|
@ -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/
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
21
emulators/qemu/patches/patch-slirp_tcp__subr.c
Normal file
21
emulators/qemu/patches/patch-slirp_tcp__subr.c
Normal file
|
@ -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) ==
|
Loading…
Reference in a new issue