Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Nov 2010 00:46:45 +1100
From:      Lawrence Stewart <lstewart@freebsd.org>
To:        Mikolaj Golub <to.my.trociny@gmail.com>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r215166 - in head: . sys/conf sys/netinet sys/netinet/cc sys/sys
Message-ID:  <4CE139C5.4010300@freebsd.org>
In-Reply-To: <86ipzyncqf.fsf@zhuzha.ua1>
References:  <201011120641.oAC6fui3098584@svn.freebsd.org>	<8662w17e90.fsf@kopusha.home.net> <4CDF3A58.6080505@freebsd.org>	<86pqu8q6lb.fsf@kopusha.home.net> <4CE08BB6.1090304@freebsd.org> <86ipzyncqf.fsf@zhuzha.ua1>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11/15/10 20:43, Mikolaj Golub wrote:
> 
> On Mon, 15 Nov 2010 12:24:06 +1100 Lawrence Stewart wrote:
> 
>  LS> On 11/15/10 02:15, Mikolaj Golub wrote:
>  >> 
>  >>  LS> Would you mind testing the following patch? It fixes the panic for me.
>  >> 
>  >>  LS> http://people.freebsd.org/~lstewart/patches/5cc/modcc_vnetpanic_ccinit.patch
>  >> 
>  >> With this patch the system hangs during the boot. Ctr-Alt-Esc to break into
>  >> ddb does not work. I am trying this under VirtualBox.
> 
>  LS> I can't reproduce a hang, but please try this patch instead:
> 
>  LS> http://people.freebsd.org/~lstewart/patches/5cc/modcc_vnetpanic_ccinit_v2.patch
> 
> I can't try it now on the box where I observed the hang. Trying on another box
> I can't reproduce the hang -- both patches works for me: no hang and I can
> create/remove jail and tcp connections to jail work.
> 
> I will try the patch on the "problem" box tonight.

Ok thanks. If you are or anyone else is feeling really adventurous, I
have created a series of patches that add better VIMAGE support to the
framework.

If you feel like testing them, they need to be applied in the following
order:

1. Init the CC framework global state only once on system boot by
switching to a SYSINIT. (You already have this one)
http://people.freebsd.org/~lstewart/patches/5cc/modcc_vnetpanic_ccinit_v2.patch

2. When unloading an algo module, loop through all TCP control blocks in
all vnets (instead of just the default vnet) to look for connections
using the algo.
http://people.freebsd.org/~lstewart/patches/5cc/modcc_vnet_algounloadcleanup.patch

3. Move protocol specific implementation detail out of the core CC
framework (not vnet specific but useful cleanup).
http://people.freebsd.org/~lstewart/patches/5cc/modcc_tcpalgounload.patch

4. Create a per-vnet variable to store a ptr to the vnet's default CC
algo and hook it up to a vnet aware sysctl handler. vnets can now choose
their own default from the global list of registered algos independently
of other vnets.
http://people.freebsd.org/~lstewart/patches/5cc/modcc_pervnet_defaultalgo.patch

It would be fine to test all of them in one go. The last one is the most
intrusive and the one I'd most like to see some testing done with. Only
if you feel like it of course.

Cheers,
Lawrence



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