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

Toke Høiland-Jørgensen toke at toke.dk
Thu Feb 24 22:30:51 GMT 2022


Juliusz Chroboczek <jch at irif.fr> writes:

>> Probably because babeld subscribes to netlink notifications for all new
>> routes, and only filters them on the table name fairly late,
>> specifically here:
>> 
>> https://github.com/jech/babeld/blob/master/kernel_netlink.c#L1175
>
> Do you see how it can be done better?

Hmm, no, not really :(

Looked at the Bird code, and it seems like it's doing both the subscribe
and parsing quite similar to the way babeld is. So it's actually a bit
puzzling why it's hurting performance that much. the only obvious
difference that I can see from my admittedly cursory glance is that
babeld makes heavy use of indirect calls; but we're not talking millions
of operations per second here, so it really shouldn't be taking such a
heavy toll...

-Toke



More information about the Babel-users mailing list