Re: [PATCH v14 07/70] lib/test_maple_tree: add testing for maple tree

From: Geert Uytterhoeven
Date: Tue Oct 11 2022 - 08:16:17 EST


Hi Liam,

On Tue, 6 Sep 2022, Liam Howlett wrote:
From: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>

This is a test suite that uses the radix test infrastructure. It has been
split into its own commit to allow for easier review of the maple tree
code.

The testing includes:
- Allocation of nodes
- gfp flag allocation checks
- Expansion & contraction of tree
- preallocation checks
- tree navigation by next/prev
- tree navigation by iterators (mas_for_each, etc)
- Number of nodes for a given number of entries
- Generic tree construction tests
- Addition and removal of entries in forward and reverse numerical indexes
- gap searching both forward and reverse
- Combining gaps by overwriting entries in different ways
- splitting right-most node
- splitting left-most node
- overwriting multiple slots
- overwriting across different levels of the tree
- overwriting the middle of a tree
- causing a 3-way split up to the root by overwriting the last slot and
first slot of different nodes and spanning different levels
- RCU stress testing of the tree with threads
- Duplication of the tree by entry count
- Tests which were generated by fuzzers have been added.
- A large number of tests which come from recording crashing in a VM and
reconstructing the tree (see check_erase2_set())

Signed-off-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>

Thanks for your patch, which is now commit e15e06a8392321a1
("lib/test_maple_tree: add testing for maple tree").

---
lib/test_maple_tree.c | 38307 ++++++++++++++++++++++++++++

Does this test really belong under lib/?
All other test modules there can be compiled and run as part of the
kernel itself.

tools/testing/radix-tree/Makefile | 9 +-

This is for userspace testing?

2 files changed, 38314 insertions(+), 2 deletions(-)
create mode 100644 lib/test_maple_tree.c

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds