linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [RFC] Implementing HUGEPAGE on MPC 8xx
@ 2016-06-08  7:03 Christophe Leroy
  2016-06-08 22:46 ` Dan Malek
  2016-06-09  0:15 ` Scott Wood
  0 siblings, 2 replies; 3+ messages in thread
From: Christophe Leroy @ 2016-06-08  7:03 UTC (permalink / raw)
  To: LinuxPPC-dev, Becky Bruce, David Gibson, Benjamin Herrenschmidt,
	Scott Wood

Hello,

MPC 8xx has several page sizes: 4k, 16k, 512k and 8M.
Today, 4k and 16k sizes are implemented as normal page sizes and 8M is 
used for mapping linear memory space in kernel.

I'd like to implement HUGE PAGE to reduce TLB misses from user apps.

In 4k mode, PAGE offset is 12 bits, PTE offset is 10 bits and PGD offset 
is 10 bits
In 16k mode, PAGE offset is 14 bits, PTE offset is 12 bits and PGD 
offset is 6 bits

In 4k mode, we could use 512k HUGE PAGE and have a HPAGE offset of 19 
bits so HPTE offset of 3 bits and PGD offset of 10 bits
In 16k mode, we could use both 512k HUGE PAGE and 8M HUGE PAGE and have:
* For 512k: a HPAGE offset of 19 bits so HPTE offset of 7 bits and PGD 
offset of 6 bits
* For 8M: a HPAGE offset of 23 bits so HPTE offset of 3 bits and PGD 
offset of 6 bits

In see in the current ppc kernel that for PPC32, SYS_SUPPORTS_HUGETLBFS 
is selected only if we have PHYS_64BIT.
What is the reason for only implementing HUGETLBFS with 64 bits phys 
addresses ?

 From your point of view, what would be the best approach to extend 
support of HUGE PAGES to PPC_8xx ?
Would the good starting point be to implement a hugepagetlb-8xx.c from 
hugepagetlb-book3e.c ?

Christophe

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-06-09  0:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-08  7:03 [RFC] Implementing HUGEPAGE on MPC 8xx Christophe Leroy
2016-06-08 22:46 ` Dan Malek
2016-06-09  0:15 ` Scott Wood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).