Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-09

Re: [RFC] Implementing HUGEPAGE on MPC 8xx

From: Dan Malek <hidden>
Date: 2016-06-08 23:01:03

Hello Christophe.

I=E2=80=99m surprised there is still any interest in this processor =
family :)

On Jun 8, 2016, at 12:03 AM, Christophe Leroy [off-list ref] =
wrote:
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.
=20
I'd like to implement HUGE PAGE to reduce TLB misses from user apps.
My original plan was to implement the TLB miss handler in three lines of =
code.  I haven=E2=80=99t investigated recently, but I know the amount of =
code has grown substantially :)
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

Since the 8xx systems typically have rather small real memory, I was =
considering a combination of 4k and 512k pages as an attempt to maximize =
real memory utilization.  The 4k pages in the PTE tables as today, and =
the 512k flagged in the PGD and just loaded from there.  I don=E2=80=99t =
know if 16k is a big enough win (unless it=E2=80=99s the =E2=80=9Cstandard=
=E2=80=9D page size to keep TLBmiss as simple as possible), or if 8M is =
terribly useful from user space.
=46rom 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 ?

I guess that is the place to start.  When I first thought about this =
many years ago, I was hoping to map shared libraries and properly =
behaving programs.  The mechanism I considered to do this was either =
inspection of the section headers, using some section flags, or maybe =
Aux Vector  to set up mmap() to hugetlb at run-time.

Good Luck.

	=E2=80=94 Dan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help