Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Sep 2010 18:14:31 +0200
From:      Gary Jennejohn <gljennjohn@googlemail.com>
To:        Andre Oppermann <oppermann@networx.ch>
Cc:        freebsd-net@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: TCP loopback socket fusing
Message-ID:  <20100915181431.30677523@ernst.jennejohn.org>
In-Reply-To: <20100915151632.E31898@maildrop.int.zabbadoz.net>
References:  <4C8E0C1E.2020707@networx.ch> <20100915151632.E31898@maildrop.int.zabbadoz.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 13 Sep 2010, Andre Oppermann wrote:

> Preliminary testing (with WITNESS and INVARIANTS enabled) has shown stable
> operation and a rough doubling of the throughput on loopback connections.
> I've tested most socket teardown cases and it behaves fine.  I'm not entirely
> sure I've got all possible path's but the way it is integrated should 
> properly defuse the sockets in all situations.
> 

I tried this out with the following results:
a) booted the new kernel, started X, started firefox -> hard hang, had to
reset the box to recover.  Note that firefox uses wwwoffle as a local,
caching proxy and wwwwoffle is accessed through localhost:8080
b) tried (a) again to make sure it wasn't a fluke -> same result
c) booted anew but started opera instead, which does _not_ use wwwoffle
as its proxy (net.inet.tcp.loopfuse=1) -> OK
d) I then set net.inet.tcp.loopfuse=0 before starting firefox -> OK
e) set net.inet.tcp.loopfuse=1 and ran cvsup to update my CVS tree
followed by checking out the changed sources, which uses loopback to
talk to cvsupd -> OK

So, somewhow trying to access wwwoffle through localhost:8080 causes a
hard hang of the box.  Whether this has something to do with the port
number or just strange behavior on the part of wwwoffle I can't say,
because the hard hang makes debugging impossible.

By hard hang I mean that there is no visible activity, gkrellm isn't
updating, mouse and keyboard are ignored and ping from a different
machine shows no reaction, so I'd say the kernel is pretty much wedged.

For now I'm setting net.inet.tcp.loopfuse=0 in /etc/sysctl.conf.

--
Gary Jennejohn



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100915181431.30677523>