Subject: Re: [RFC PATCH 0/9] powerpc/mm: Restructure Linux PTE on Book3S/64 to radix format

From: "Aneesh Kumar K.V" <[email-masked]>
Date: Sat, 20 Feb 2016 21:02:28 +0530

"Aneesh Kumar K.V" <[email-masked]> writes:

> Paul Mackerras <[email-masked]> writes:
>
>> This patch series modifies the Linux PTE format used on 64-bit Book3S
>> processors (i.e. POWER server processors) to make the bits line up
>> with the PTE format used in the radix trees defined in PowerISA v3.0.
>> This will reduce the amount of further change required to make a
>> kernel that can run with either a radix MMU or a hashed page table
>> (HPT) MMU.
>>
>> This also changes the upper levels of the tree to use real addresses
>> rather than kernel virtual addresses - that is, we no longer have the
>> 0xc000... at the top of each PGD/PUD/PMD entry.  I made this change
>> for all 64-bit machines, both embedded and server.
>>
>> The patch series is against v4.5-rc4 plus Aneesh's "powerpc/mm/hash:
>> Clear the invalid slot information correctly" patch.
>>
>> I have compiled this for all the defconfigs in the tree, without
>> error.  I have tested this, with the fixes branch of the powerpc tree
>> merged in, both running bare-metal on a POWER8 and in a KVM guest on
>> that POWER8 system.  In the guest I tested both 4k and 64k configs,
>> with THP enabled; in the host I tested with 64k page size and THP
>> enabled.  All these tests ran fine, including running a KVM guest on
>> the bare-metal system.  So far I have done kernel compiles in a loop
>> as the test, but I plan to run LTP and possibly some other tests.
>>
>> Comments welcome.
>
> I was expecting some complex changes in asm and other part of the code. That
> is one of the reason I was holding of a series like this till I get the
> radix merged. I should have really tried the radix/hash linux page table 
> consolidation to see the impact.
>
> Now how do we want to go with this series ?. If we are taking this
> series before the books3 hash linux abstraction series, I will have to
> redo that series now on top of this.
>

Another option is to do this on top of book3s hash linux abstraction
series. I can drop the core patch 

mm: Some arch may want to use HPAGE_PMD related values as variables

and rest goes in as it is. Later with this patch series we undo some of
abstraction added. With that approach with each pte bit that we are
moving we also document which part of radix won't need an update.

-aneesh