[Babel-users] babeld slashes kernel route manipulation performance by 17000%

Toke Høiland-Jørgensen toke at toke.dk
Wed Apr 6 23:19:46 BST 2022


Daniel Gröber <dxld at darkboxed.org> writes:

> Hi Toke,
>
> Looks like I never responded to this :O.

Haha, yeah, well I totally forgot about it as well :D

> On Thu, Feb 24, 2022 at 11:36:06PM +0100, Toke Høiland-Jørgensen wrote:
>> Yeah, I find this a bit surprising as well. What kernel version are you
>> seeing this on, and what does the CPU usage show while it's ongoing
>> (just starting 'top' and sorting by CPU usage should show you which
>> process(es) are using the most CPU time).
>
> The CPU usage is pretty much what you'd expect babel and bird are the top
> offenders but dnsmasq is also spinning quite heavily. During the original
> tests I was monitoring CPU usage with htop to make sure I'm not measuring
> idle route insertion activity FYI.
>
> I just tried to reproduce the problem to make sure dnsmasq isn't
> interfering also, but I can't seem to reproduce it now. Perhaps this was
> actully a kernel bug that since got fixed by a kernel upgrade.

Hmm, I've definitely had issues with dnsmasq not handling lots of route
updates well. I got rid of it now, but when I was running a full BGP
table on an oldish openwrt, I basically had to kill dnsmasq every time
the BGP session went up or down, otherwise it would take several minutes
to recover :/

> This is on a Debian 11 (bullseye) system, according to my dpkg.log I likely
> had 5.10.0-11-amd64/5.10.92-1 at the time of the original tests whereas I
> have 5.10.0-12-amd64/5.10.103-1 now. I tried with the old version too but I
> can't seem to get the problem to trigger anymore now. Good I guess but
> unsatisfying :/

Yeah, that's a bit odd. Looking at the commit log between those two
kernel versions, there's only a single commit that touches the fib code:

 86f0587f7432 ("ipv4: update fib_info_cnt under spinlock protection")

I doubt that can have fixed this, though? But if it's gone, well, good
news? :P

-Toke



More information about the Babel-users mailing list