On 18.12.23 11:50, Ryan Roberts wrote:
Refactor __split_huge_pmd_locked() so that a present PMD can be collapsed to PTEs in a single batch using set_ptes(). It also provides a future opportunity to batch-add the folio to the rmap using David's new batched rmap APIs.
I'd drop that sentence and rather just say "In the future, we might get rid of the remaining manual loop by using rmap batching.".
This should improve performance a little bit, but the real motivation is to remove the need for the arm64 backend to have to fold the contpte entries. Instead, since the ptes are set as a batch, the contpte blocks can be initially set up pre-folded (once the arm64 contpte support is added in the next few patches). This leads to noticeable performance improvement during split.
Acked-by: David Hildenbrand <david@xxxxxxxxxx> -- Cheers, David / dhildenb