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

From: Mark Rutland
Date: Thu Feb 08 2024 - 12:34:50 EST


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/

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

> 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.

> - 3-8: mm,arm,arm64,powerpc,x86 prep: Replace pte_next_pfn() with more
> general pte_advance_pfn()

These look fine to me.

> - 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

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.