• Liam R. Howlett's avatar
    lib/test_maple_tree: add testing for maple tree · e15e06a8
    Liam R. Howlett authored
    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())
    
    Link: https://lkml.kernel.org/r/20220906194824.2110408-8-Liam.Howlett@oracle.comSigned-off-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
    Tested-by: default avatarYu Zhao <yuzhao@google.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: David Howells <dhowells@redhat.com>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
    Cc: SeongJae Park <sj@kernel.org>
    Cc: Sven Schnelle <svens@linux.ibm.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    e15e06a8
test_maple_tree.c 1.37 MB
The source could not be displayed because it is larger than 1 MB. You can load it anyway or download it instead.