Re: [PATCH 1/2] mm: Allow architectures to request 'old' entries when prefaulting

From: Linus Torvalds
Date: Sat Dec 19 2020 - 15:22:22 EST


On Sat, Dec 19, 2020 at 4:41 AM Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote:
>
> Okay, but we only win the NULL check. xas_retry() and xa_is_value() has to
> be repeated in the beginning of the loop.

Yeah.

I wonder if it might make sense to have a "xas_next_entry_rcu()"
function that does something like

while ((entry = xas_next_entry(&xas, end)) != NULL) {
if (xas_retry(entry) || xa_is_value(entry))
continue;
return entry;
}
return NULL;

but that's a question for Willy, and independent of this patch.

I like the patch, and I'll think about it a bit more, but I might
decide to just apply it to get this thing over with.

Otherwise it should probably go into -mm for more testing.

Linus