Re: [PATCH v5 00/25] Transparent Contiguous PTEs for User Mappings

From: Ryan Roberts
Date: Fri Feb 09 2024 - 03:54:52 EST


On 08/02/2024 17:34, Mark Rutland wrote:
> On Fri, Feb 02, 2024 at 08:07:31AM +0000, Ryan Roberts wrote:
>> Hi All,
>
> Hi Ryan,
>
> I assume this is the same as your 'features/granule_perf/contpte-lkml_v' branch
> on https://gitlab.arm.com/linux-arm/linux-rr/

Yep - great detective work! features/granule_perf/contpte-lkml_v5 corresponds
exactly to what I posted with all the dependencies in place.

>
> I've taken a quick look, and I have a few initial/superficial comments before
> digging into the detail on the important changes.

Thanks for doing this!

>
>> Patch Layout
>> ============
>>
>> In this version, I've split the patches to better show each optimization:
>>
>> - 1-2: mm prep: misc code and docs cleanups
>
> I'm not confident enough to comment on patch 2, but these look reasonable to
> me.

Thanks. David has acked patch 2 already so I think we are good there.

>
>> - 3-8: mm,arm,arm64,powerpc,x86 prep: Replace pte_next_pfn() with more
>> general pte_advance_pfn()
>
> These look fine to me.

Thanks!

>
>> - 9-18: arm64 prep: Refactor ptep helpers into new layer
>
> The result of patches 9-17 looks good to me, but the intermediate stages where
> some functions are converted is a bit odd, and it's a bit painful for review
> since you need to skip ahead a few patches to see the end result to tell that
> the conversions are consistent and complete.
>
> IMO it'd be easier for review if that were three patches:
>
> 1) Convert READ_ONCE() -> ptep_get()
> 2) Convert set_pte_at() -> set_ptes()
> 3) All the "New layer" renames and addition of the trivial wrappers

Yep that makes sense. I'll start prepping that today. I'll hold off reposting
until I have your comments on 19-25. I'm also hoping that David will repost the
zap series today so that it can get into mm-unstable by mid-next week. Then I'll
repost on top of that, hopefully by end of next week, folding in all your
comments. This should give planty of time to soak in linux-next.

Thanks,
Ryan

>
> Patch 18 looks fine to me.
>
>> - 19: functional contpte implementation
>> - 20-25: various optimizations on top of the contpte implementation
>
> I'll try to dig into these over the next few days.
>
> Mark.