Thread (25 messages) 25 messages, 5 authors, 2016-02-22

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

From: Aneesh Kumar K.V <hidden>
Date: 2016-02-20 15:32:37

"Aneesh Kumar K.V" [off-list ref] writes:
Paul Mackerras [off-list ref] writes:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help