Subject: Re: [PATCH V4 11/18] powerpc/mm: Hugetlbfs is book3s_64 and fsl_book3e (32 or 64)

From: "Aneesh Kumar K.V" <[email-masked]>
Date: Fri, 26 Feb 2016 15:27:10 +0530

Paul Mackerras <[email-masked]> writes:

> On Tue, Feb 23, 2016 at 10:18:13AM +0530, Aneesh Kumar K.V wrote:
>> We move large part of fsl related code to hugetlbpage-book3e.c.
>> Only code movement. This also avoid #ifdef in the code.
>> 
>> Eventhough we allow hugetlbfs only for book3s 64 and fsl book3e, I am
>> still retaining the #ifdef in hugetlbpage-book3e.c. It looks like there
>> was an attempt to support hugetlbfs on other non hash platforms. I
>> didn't want to loose that work.
>
> Well... that stuff is always in git.  It seems that the only 64-bit
> non-Freescale Book E platform we had was A2, and that code got deleted
> because the product was never released.
>
> You get rid of some but not all of the ifdefs in hugetlbpage-book3e.c,
> and the result is a bit confusing (see below).  In fact that file will
> only get compiled for Freescale Book E processors, because the
> Makefile has an ifdef on HUGETLB_PAGE, which ultimately depends on
> SYS_SUPPORTS_HUGETLBFS, which is only set for Freescale Book E and
> 64-bit server.
>
> However, a larger question is why this cleanup is necessary for
> preparing for the radix tree.  Nothing in the following patches in
> this series seems to depend on this patch.

I am putting together radix changes on top of the PTE rewrite patch
series and I thought of retaining most of the code cleanup because
that makes the applying further patches easy. This was mostly needed so
that we can update hugetlb for radix easily. 

https://github.com/kvaneesh/linux/commit/31e7c351e8a2fd9e347f9837e9e765b648786e7a

I haven't got that change on top of my current tree yet. IMHO I
found the cleanup easier. I agree that I was focusing mostly on book3s
and was trying to keep nonhash as close to the original version. 

I can move this cleanup as a separate series if it is confusing to look
at it related to radix preparation. If the cleanup is not helping, let
me know, we can add them later along with rest of radix changes if
needed.

The most important change in this series that we need to get merged in
the next merge window is the 4 level page table. Rest of the patches are
all code movement/cleanups.

-aneesh