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

Lawrence Stewart lstewart at freebsd.org
Mon Nov 15 01:24:14 UTC 2010


On 11/15/10 02:15, Mikolaj Golub wrote:
> 
> On Sun, 14 Nov 2010 12:24:40 +1100 Lawrence Stewart wrote:
> 
>  LS> On 11/13/10 20:40, Mikolaj Golub wrote:
>  >> 
>  >> On Fri, 12 Nov 2010 06:41:56 +0000 (UTC) Lawrence Stewart wrote:
>  >> 
>  >>  LS> Author: lstewart
>  >>  LS> Date: Fri Nov 12 06:41:55 2010
>  >>  LS> New Revision: 215166
>  >>  LS> URL: http://svn.freebsd.org/changeset/base/215166
>  >> 
>  >>  LS> Log:
>  >>  LS>   This commit marks the first formal contribution of the "Five New TCP Congestion
>  >>  LS>   Control Algorithms for FreeBSD" FreeBSD Foundation funded project. More details
>  >>  LS>   about the project are available at: http://caia.swin.edu.au/freebsd/5cc/
>  >> 
>  >> It looks like the code needs improvement to work with VIMAGE :-)
>  >> 
>  >> options VIMAGE
>  >> 
>  >> jail -i -c vnet persist path=/
>  >> 
>  >> panic: lock "cc_list" 0xc101c418 already initialized
>  >> 
[snip backtrace]
> 
>  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.

I can't reproduce a hang, but please try this patch instead:

http://people.freebsd.org/~lstewart/patches/5cc/modcc_vnetpanic_ccinit_v2.patch

The previous patch had a bug, in that CC modules register with
SI_ORDER_ANY in the same SI_SUB_PROTO_IFATTACHDOMAIN category as the CC
framework's SYSINIT (which also ran with SI_ORDER_ANY). Therefore, there
is a possibility an algo could have tried to register before the CC
framework SYSINIT ran.

To be honest though, I don't expect the updated patch will fix the hang.
I would have expected a panic rather than a hang if you were seeing any
complications due to the SYSINIT ordering because the algo registration
would have attempted to use an uninitialised lock. I suspect your hang
might be caused by something unrelated to the modular CC work, but let
me know how you go.

Cheers,
Lawrence


More information about the svn-src-head mailing list