mbox series

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

Message ID 20240131225125.1370598-1-mcgrof@kernel.org (mailing list archive)
Headers show
Series test_xarray: advanced API multi-index tests | expand

Message

Luis Chamberlain Jan. 31, 2024, 10:51 p.m. UTC
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@samsung.com
[1] https://lore.kernel.org/all/20231028211518.3424020-1-da.gomez@samsung.com/

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(+)