Message ID | 20241118010808.2243555-1-houtao@huaweicloud.com (mailing list archive) |
---|---|
Headers | show |
Series | Fixes for LPM trie | expand |
Hi, On 11/18/2024 9:42 AM, bot+bpf-ci@kernel.org wrote: > Dear patch submitter, > > CI has tested the following submission: > Status: SUCCESS > Name: [bpf-next,00/10] Fixes for LPM trie > Patchwork: https://patchwork.kernel.org/project/netdevbpf/list/?series=910440&state=* > Matrix: https://github.com/kernel-patches/bpf/actions/runs/11884065937 > > No further action is necessary on your part. > > > Please note: this email is coming from an unmonitored mailbox. If you have > questions or feedback, please reach out to the Meta Kernel CI team at > kernel-ci@meta.com. I am curious about the reason on why test_maps on s390 is disabled. If I remember correctly, test_maps on s390 was still enabled last year [1]. [1]: https://github.com/kernel-patches/bpf/actions/runs/7164372250
On 2024-11-18 09:07:58 [+0800], Hou Tao wrote: > From: Hou Tao <houtao1@huawei.com> > > Hi, Hi, > Please see individual patches for more details. Comments are always > welcome. This might be a coincidence but it seems I get | helper_fill_hashmap(282):FAIL:can't update hashmap err: Unknown error -12 | test_maps: test_maps.c:1379: __run_parallel: Assertion `status == 0' failed. more often with the series when I do ./test_maps. I never managed to pass the test with series while it passed on v6.12. I'm not blaming the series, just pointing this out it might be known… In 08/10 you switch the locks to raw_spinlock_t. I was a little worried that a lot of elements will make the while() loop go for a long time. Is there a test for this? I run into "test_progs -a map_kptr" and noticed something else… Sebastian
Hi Hou, On 11/17/24 22:20, Hou Tao wrote: > Hi, > > On 11/18/2024 9:42 AM, bot+bpf-ci@kernel.org wrote: >> Dear patch submitter, >> >> CI has tested the following submission: >> Status: SUCCESS >> Name: [bpf-next,00/10] Fixes for LPM trie >> Patchwork: https://patchwork.kernel.org/project/netdevbpf/list/?series=910440&state=* >> Matrix: https://github.com/kernel-patches/bpf/actions/runs/11884065937 >> >> No further action is necessary on your part. >> >> >> Please note: this email is coming from an unmonitored mailbox. If you have >> questions or feedback, please reach out to the Meta Kernel CI team at >> kernel-ci@meta.com. > I am curious about the reason on why test_maps on s390 is disabled. If I > remember correctly, test_maps on s390 was still enabled last year [1]. > > [1]: https://github.com/kernel-patches/bpf/actions/runs/7164372250 > It was disabled in https://github.com/kernel-patches/vmtest/commit/5489ef2bc1fed11e841d2d3485ab80ce4b390d94 . I recall it was kinda flakey and low signal. Thanks, Daniel
From: Hou Tao <houtao1@huawei.com> Hi, This patch set fixes several issues for LPM trie. These issues were found during adding new test cases or were reported by syzbot. The patch set is structured as follows: Patch #1~#2 are clean-ups for lpm_trie_update_elem(). Patch #3 handles BPF_EXIST and BPF_NOEXIST correctly for LPM trie. Patch #4 fixes the accounting of n_entries when doing in-place update. Patch #5 fixes the exact match condition in trie_get_next_key() and it may skip keys when the passed key is not found in the map. Patch #6~7 switch from kmalloc() to bpf memory allocator for LPM trie to fix several lock order warnings reported by syzbot. Patch #8 enables raw_spinlock_t for LPM trie again after switching to bpf memory allocator. Patch #9: move test_lpm_map to map_tests to make it run regularly. Patch #10: add more basic test cases for LPM trie. Please see individual patches for more details. Comments are always welcome. Hou Tao (10): bpf: Remove unnecessary check when updating LPM trie bpf: Remove unnecessary kfree(im_node) in lpm_trie_update_elem bpf: Handle BPF_EXIST and BPF_NOEXIST for LPM trie bpf: Handle in-place update for full LPM trie correctly bpf: Fix exact match conditions in trie_get_next_key() bpf: Add bpf_mem_cache_is_mergeable() helper bpf: Switch to bpf mem allocator for LPM trie bpf: Use raw_spinlock_t for LPM trie selftests/bpf: Move test_lpm_map.c to map_tests selftests/bpf: Add more test cases for LPM trie include/linux/bpf_mem_alloc.h | 1 + kernel/bpf/lpm_trie.c | 158 +++++-- kernel/bpf/memalloc.c | 12 + tools/testing/selftests/bpf/.gitignore | 1 - tools/testing/selftests/bpf/Makefile | 2 +- .../lpm_trie_map_basic_ops.c} | 401 +++++++++++++++++- 6 files changed, 523 insertions(+), 52 deletions(-) rename tools/testing/selftests/bpf/{test_lpm_map.c => map_tests/lpm_trie_map_basic_ops.c} (64%)