Re: [PATCH] mm: Compute mTHP order efficiently
From: Matthew Wilcox
Date: Mon Sep 16 2024 - 09:25:17 EST
On Fri, Sep 13, 2024 at 02:49:02PM +0530, Dev Jain wrote:
> We use pte_range_none() to determine whether contiguous PTEs are empty
> for an mTHP allocation. Instead of iterating the while loop for every
> order, use some information, which is the first set PTE found, from the
> previous iteration, to eliminate some cases. The key to understanding
> the correctness of the patch is that the ranges we want to examine
> form a strictly decreasing sequence of nested intervals.
This is a lot more complicated. Do you have any numbers that indicate
that it's faster? Yes, it's fewer memory references, but you've gone
from a simple linear scan that's easy to prefetch to an exponential scan
that might confuse the prefetchers.