2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-26 14:14:01 +08:00
linux-next/tools/testing/radix-tree
Matthew Wilcox 0a835c4f09 Reimplement IDR and IDA using the radix tree
The IDR is very similar to the radix tree.  It has some functionality that
the radix tree did not have (alloc next free, cyclic allocation, a
callback-based for_each, destroy tree), which is readily implementable on
top of the radix tree.  A few small changes were needed in order to use a
tag to represent nodes with free space below them.  More extensive
changes were needed to support storing NULL as a valid entry in an IDR.
Plain radix trees still interpret NULL as a not-present entry.

The IDA is reimplemented as a client of the newly enhanced radix tree.  As
in the current implementation, it uses a bitmap at the last level of the
tree.

Signed-off-by: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
Tested-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2017-02-13 21:44:01 -05:00
..
generated radix tree test suite: Remove obsolete CONFIG 2017-02-13 16:09:43 -05:00
linux Reimplement IDR and IDA using the radix tree 2017-02-13 21:44:01 -05:00
.gitignore Reimplement IDR and IDA using the radix tree 2017-02-13 21:44:01 -05:00
benchmark.c radix tree test suite: benchmark for iterator 2016-12-14 16:04:09 -08:00
idr-test.c Reimplement IDR and IDA using the radix tree 2017-02-13 21:44:01 -05:00
iteration_check.c radix tree test suite: check multiorder iteration 2016-12-14 16:04:10 -08:00
linux.c radix tree test suite: Remove types.h 2017-02-13 16:09:41 -05:00
main.c Reimplement IDR and IDA using the radix tree 2017-02-13 21:44:01 -05:00
Makefile Reimplement IDR and IDA using the radix tree 2017-02-13 21:44:01 -05:00
multiorder.c radix-tree: ensure counts are initialised 2016-12-14 16:04:10 -08:00
regression1.c radix-tree tests: properly initialize mutex 2016-10-11 15:06:30 -07:00
regression2.c radix-tree: delete radix_tree_range_tag_if_tagged() 2016-12-14 16:04:10 -08:00
regression3.c radix-tree: improve multiorder iterators 2016-12-14 16:04:10 -08:00
regression.h radix-tree tests: add regression3 test 2016-03-17 15:09:34 -07:00
tag_check.c radix tree test suite: add new tag check 2016-12-14 16:04:10 -08:00
test.c radix-tree: delete radix_tree_range_tag_if_tagged() 2016-12-14 16:04:10 -08:00
test.h Reimplement IDR and IDA using the radix tree 2017-02-13 21:44:01 -05:00