bpf: introduce timeout hash map
From: | Cong Wang <xiyou.wangcong-AT-gmail.com> | |
To: | netdev-AT-vger.kernel.org | |
Subject: | [Patch bpf-next v4 0/3] bpf: introduce timeout hash map | |
Date: | Sat, 16 Jan 2021 20:22:21 -0800 | |
Message-ID: | <20210117042224.17839-1-xiyou.wangcong@gmail.com> | |
Cc: | bpf-AT-vger.kernel.org, Cong Wang <cong.wang-AT-bytedance.com> | |
Archive-link: | Article |
From: Cong Wang <cong.wang@bytedance.com> This patchset introduces a new eBPF hash map whose elements have timeouts. Patch 1 is the implementation of timeout map, patch 2 adds some test cases for timeout map in test_maps, and patch 3 adds a test case in map ptr test. Please check each patch description for more details. --- v4: merge gc_work into gc_idle_work to avoid a nasty race condition fix a potential use-after-free add one more test case improve comments and update changelog v3: move gc list from bucket to elem reuse lru_node in struct htab_elem drop patches which are no longer necessary fix delete path add a test case for delete path add parallel test cases change timeout to ms drop batch ops v2: fix hashmap ptr test add a test case in map ptr test factor out htab_timeout_map_alloc() Cong Wang (3): bpf: introduce timeout hash map selftests/bpf: add test cases for bpf timeout map selftests/bpf: add timeout map check in map_ptr tests include/linux/bpf_types.h | 1 + include/uapi/linux/bpf.h | 5 +- kernel/bpf/hashtab.c | 239 +++++++++++++++++- kernel/bpf/syscall.c | 3 +- tools/include/uapi/linux/bpf.h | 1 + .../selftests/bpf/progs/map_ptr_kern.c | 20 ++ tools/testing/selftests/bpf/test_maps.c | 47 ++++ 7 files changed, 307 insertions(+), 9 deletions(-) -- 2.25.1