Re: [PATCH 09/13] mm/powerpc: Redefine pXd_huge() with pXd_leaf()

From: Peter Xu
Date: Wed Mar 20 2024 - 16:24:41 EST


On Wed, Mar 20, 2024 at 05:40:39PM +0000, Christophe Leroy wrote:
>
>
> Le 20/03/2024 à 17:09, Peter Xu a écrit :
> > On Wed, Mar 20, 2024 at 06:16:43AM +0000, Christophe Leroy wrote:
> >> At the first place that was to get a close fit between hardware
> >> pagetable topology and linux pagetable topology. But obviously we
> >> already stepped back for 512k pages, so let's go one more step aside and
> >> do similar with 8M pages.
> >>
> >> I'll give it a try and see how it goes.
> >
> > So you're talking about 8M only for 8xx, am I right?
>
> Yes I am.
>
> >
> > There seem to be other PowerPC systems use hugepd. Is it possible that we
> > convert all hugepd into cont_pte form?
>
> Indeed.
>
> Seems like we have hugepd for book3s/64 and for nohash.
>
> For book3s I don't know, may Aneesh can answer.
>
> For nohash I think it should be possible because TLB misses are handled
> by software. Even the e6500 which has a hardware tablewalk falls back on
> software walk when it is a hugepage IIUC.

It'll be great if I can get some answer here, and then I know the path for
hugepd in general. I don't want to add any new code into core mm to
something destined to fade away soon.

One option for me is I can check a macro of hugepd existance, so all new
code will only work when hugepd is not supported on such arch. However
that'll start to make some PowerPC systems special (which I still tried
hard to avoid, if that wasn't proved in the past..), meanwhile we'll also
need to keep some generic-mm paths (that I can already remove along with
the new code) only for these hugepd systems. But it's still okay to me,
it'll be just a matter of when to drop those codes, sooner or later.

Thanks,

--
Peter Xu