Re: git: eb93b99d6986 - main - in_pcb: delay crfree() down into UMA dtor

From: Gleb Smirnoff <glebius_at_freebsd.org>
Date: Thu, 30 Dec 2021 07:13:14 UTC
On Wed, Dec 29, 2021 at 03:41:30PM -0800, Gleb Smirnoff wrote:
T> On Mon, Dec 27, 2021 at 04:46:54PM -0800, Gleb Smirnoff wrote:
T> T> T> I have created a patch that would mitigate that problem. Once the zones
T> T> T> are global, the jails will eventually die if there is some pcb zone
T> T> T> traffic.
T> T> T> 
T> T> T> https://reviews.freebsd.org/D33542
T> T> 
T> T> Despite I still believe that PCB zones belong to global state rather than
T> T> to a VNET, the patch doesn't help to mitigate massive memory leaks with
T> T> vnet jails on a machine that is dedicated solely to run a test suite.
T> T> If machine does nothing except a test suite, there is almost zero pcb
T> T> traffic. If there is no pcb zone traffic, the SMR caches stay, and thus
T> T> destroyed jails will also stay. Our vnet jail "weights" a lot! Even with
T> T> the global PCB zone patch applied, each vnet jail creates 33 UMA zones!
T> T> 
T> T> I think we need a KPI to purge the SMR caches, and we also need to put
T> T> vnet jails on a diet. These are two independent problems, of course.
T> 
T> Okay, so on top of the D33542 I have another patch that finally allows me
T> to endlessly run the test suite(s):
T> 
T> https://github.com/glebius/FreeBSD/commit/355fefcc30036230128d7ac1debcaf60feb24a7e
T> 
T> With the patch I still have about 8 - 10 zombie jails left after test suite
T> run.  Upon next run they will be recycled, but another 10 zombies will remain.
T> 
T> I'm not very happy with the patch in its current form. We need changes
T> to UMA to address problems I described in the commit.
T> 
T> I'm not yet putting this patch on the phabricator. Already got too long queue
T> there.

And with additional patch to UMA I am able to achieve minimal (0 - 2) zombies
jails remaining during test suite runs:

https://github.com/glebius/FreeBSD/commit/f275704feabaff016c05d98a884bee4b2cc08ff2

-- 
Gleb Smirnoff