svn commit: r215166 - in head: . sys/conf sys/netinet sys/netinet/cc sys/sys

Lawrence Stewart lstewart at freebsd.org
Mon Nov 15 13:46:50 UTC 2010


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


More information about the svn-src-head mailing list