diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2024-11-13 13:51:10 -0800 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2024-11-13 13:53:21 -0800 |
commit | 379d5ee624eda6a897d9e1f7f88c68ea482bd5fa (patch) | |
tree | ffdbffa393781d1afaf21310e8ca2e55c4888f4f /scripts/bpf_doc.py | |
parent | 871438170326dc28125cb823d19c1d5c5304474d (diff) | |
parent | e58358afa84e8e271a296459d35d1715c7572013 (diff) |
Merge branch 'bpf-range_tree-for-bpf-arena'
Alexei Starovoitov says:
====================
bpf: range_tree for bpf arena
From: Alexei Starovoitov <ast@kernel.org>
Introduce range_tree (interval tree plus rbtree) to track
unallocated ranges in bpf arena and replace maple_tree with it.
This is a step towards making bpf_arena|free_alloc_pages non-sleepable.
The previous approach to reuse drm_mm to replace maple_tree reached
dead end, since sizeof(struct drm_mm_node) = 168 and
sizeof(struct maple_node) = 256 while
sizeof(struct range_node) = 64 introduced in this patch.
Not only it's smaller, but the algorithm splits and merges
adjacent ranges. Ultimate performance doesn't matter.
The main objective of range_tree is to work in context
where kmalloc/kfree are not safe. It achieves that via bpf_mem_alloc.
====================
Link: https://patch.msgid.link/20241108025616.17625-1-alexei.starovoitov@gmail.com
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Diffstat (limited to 'scripts/bpf_doc.py')
0 files changed, 0 insertions, 0 deletions