On Fri, Oct 18, 2024 at 1:55 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > On Fri, Oct 18, 2024 at 01:40:18PM -0700, Yosry Ahmed wrote: > > Oh I thought xas_reload() is enough here to check that the entry is > > still there after the lock is acquired. Do we have to start the walk > > over after holding the lock? > > Yes. The entry is guaranteed to still be valid, but the node you're > looking in might have been freed, so you can't modify the node without > making sure the node is still in the tree. We could make that cheaper > than a rewalk, but you're going to need to write that code since you're > the first to want to do something like this. I see, thanks for elaborating. Could you confirm if the current patch with the xas_reset() added would be equivalent to just checking xa_load() before using xa_erase()?