diff options
| author | Alexei Starovoitov <[email protected]> | 2022-09-02 14:10:57 -0700 |
|---|---|---|
| committer | Daniel Borkmann <[email protected]> | 2022-09-05 15:33:07 +0200 |
| commit | bfc03c15bebf5e0028e21ca5fc0fe4a60a6b6681 (patch) | |
| tree | 48a88881f31da2404ee51871c6e57869ee9ccf62 /tools/perf/scripts/python/event_analyzing_sample.py | |
| parent | 02cc5aa29e8cef4c1d710accd423546ab63f4eda (diff) | |
bpf: Remove usage of kmem_cache from bpf_mem_cache.
For bpf_mem_cache based hash maps the following stress test:
for (i = 1; i <= 512; i <<= 1)
for (j = 1; j <= 1 << 18; j <<= 1)
fd = bpf_map_create(BPF_MAP_TYPE_HASH, NULL, i, j, 2, 0);
creates many kmem_cache-s that are not mergeable in debug kernels
and consume unnecessary amount of memory.
Turned out bpf_mem_cache's free_list logic does batching well,
so usage of kmem_cache for fixes size allocations doesn't bring
any performance benefits vs normal kmalloc.
Hence get rid of kmem_cache in bpf_mem_cache.
That saves memory, speeds up map create/destroy operations,
while maintains hash map update/delete performance.
Signed-off-by: Alexei Starovoitov <[email protected]>
Signed-off-by: Daniel Borkmann <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/event_analyzing_sample.py')
0 files changed, 0 insertions, 0 deletions