ref: f2cfee358f329519e913a20142d96b1e0029633c
parent: c6ec2041ad9bb2dbb6b710c7efdbf2fc8de4f5ba
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Oct 22 09:21:23 EDT 2023
ndb/dns: implement concurrent garbage collection Get rid of the blocking in getactivity()/putactivity(), and instead split garbage collection over 2 phases (mark bit) so that dnageall() runs the mark phase only for the current mark bit and sweep for the previous mark (which then becomes the current mark after the collection). Note that dnageall() only runs once the previous phase (previous mark) has no more active procs. Also, fix the ageing period controller and make it more agressive once dnvars.names is twice the target so we can actually sustain being hammered with new domain name queries.