Re: [RFC V3 PATCH] arm64: mm: swap: save and restore mte tags for large folios

From: Matthew Wilcox
Date: Fri Nov 17 2023 - 14:37:12 EST


On Fri, Nov 17, 2023 at 07:47:00AM +0800, Barry Song wrote:
> This has been discussed. Steven, Ryan and I all don't think this is a good
> option. in case we have a large folio with 16 basepages, as do_swap_page
> can only map one base page for each page fault, that means we have
> to restore 16(tags we restore in each page fault) * 16(the times of page faults)
> for this large folio.

That doesn't seem all that hard to fix? Call set_ptes() instead of
set_pte_at(). The biggest thing, I guess, is making sure that all
the PTEs you're going to set up are still pte_none().