The BPF Hashmap and other hash-based BPF maps including Stackmap and Bloom Filters use an old hash function, jhash. Therefore, this should not be difficult to improve the maps performance by using a better hash function. However, this is true only in the ideal world, i.e., when we load the Linux kernel with mitigations=off. This is not as straightforward in the real world.
In this talk I will describe obstacles which appear in the real world and how to approach them. Also, I will talk about how to benchmark BPF maps and kernel code in general and look into how fast BPF maps are actually performing.
Speakers: Anton Protopopov