On Fri, Oct 18, 2024 at 02:00:16PM -0700, Yosry Ahmed wrote: > 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()? Yes, I think it would, so it's probably a poor tradeoff.