On Fri, Nov 15, 2024 at 11:43:10AM -0800, Linus Torvalds wrote: > And I did find that the "do small reads entirely under RCU" didn't > test for one condition that filemap_get_read_batch() checked for: the > xa_is_sibling() check. I don't think you need it: xas_load: entry = xas_descend(xas, node); xas_descend: while (xa_is_sibling(entry)) { entry = xa_entry(xas->xa, node, offset); so I don't think xa_is_sibling() can ever be true here. xas_next() can return a sibling entry, so it does need the extra check.