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>