[PATCH v2 0/2] test_xarray: advanced API multi-index tests

From: Luis Chamberlain
Date: Wed Jan 31 2024 - 17:52:00 EST


This is a respin of the test_xarray multi-index tests [0] which use and
demonstrate the advanced API which is used by the page cache. This should
let folks more easily follow how we use multi-index to support for example
a min order later in the page cache. It also lets us grow the selftests to
mimic more of what we do in the page cache.

Changes since v1:

- Fixed RCU stall, the issue was the misssing RCU locks when fetching
an entry, so we now add test_get_entry() which mimics filemap_get_entry()
- Provide a bit more comments
- Check for alignment on the index to the order on
check_xa_multi_store_adv_add()
- Use a helper check_xa_multi_store_adv_del_entry() to mimic what
we do in page_cache_delete()

Changes since RFC:

- Moved out from tmpfs large folio patches [1] so to keep these patches
separate
- Update cmpxchg test to include another entry at 1 << order that
'keeps' the node around and order information.
- Update cmpxchg test to verify the entries and order in all tied
indexes.
- Drop previous Luis Chamberlain's review as changes are significant
from the RFC.

[0] https://lkml.kernel.org/r/20231104005747.1389762-1-da.gomez@xxxxxxxxxxx
[1] https://lore.kernel.org/all/20231028211518.3424020-1-da.gomez@xxxxxxxxxxx/

Daniel Gomez (1):
XArray: add cmpxchg order test

Luis Chamberlain (1):
test_xarray: add tests for advanced multi-index use

lib/test_xarray.c | 218 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 218 insertions(+)

--
2.43.0