From owner-svn-src-all@FreeBSD.ORG Mon Nov 15 13:46:50 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B27351065672; Mon, 15 Nov 2010 13:46:50 +0000 (UTC) (envelope-from lstewart@freebsd.org) Received: from lauren.room52.net (lauren.room52.net [210.50.193.198]) by mx1.freebsd.org (Postfix) with ESMTP id 6EA2C8FC16; Mon, 15 Nov 2010 13:46:50 +0000 (UTC) Received: from lawrence1.loshell.room52.net (ppp59-167-184-191.static.internode.on.net [59.167.184.191]) by lauren.room52.net (Postfix) with ESMTPSA id D1E807E84A; Tue, 16 Nov 2010 00:46:48 +1100 (EST) Message-ID: <4CE139C5.4010300@freebsd.org> Date: Tue, 16 Nov 2010 00:46:45 +1100 From: Lawrence Stewart User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-AU; rv:1.9.2.9) Gecko/20101006 Lightning/1.0b2 Thunderbird/3.1.4 MIME-Version: 1.0 To: Mikolaj Golub 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> In-Reply-To: <86ipzyncqf.fsf@zhuzha.ua1> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on lauren.room52.net 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 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Nov 2010 13:46:50 -0000 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