:Kevin Elphinstone did a PhD thesis on TLB structures for 64 bit address spaces
:and it turns out that hash tables perform quite poorly. I'd suggest GPTs
:instead, or maybe LPCtrie that Chris Szmajda has been working on here at UNSW.
:Both have the advantage of supporting multiple page sizes that IA64 (and
:Alpha) offer, and hence dramatically increasing the TLB coverage over what
:Linux (or any other commercial OS that took a bite at IA64) can achieve.
:Kevin's paper's at:
:ftp://ftp.cse.unsw.edu.au/pub/users/disy/papers/Elphinstone:phd.ps.gz
:
:Maybe that way we can somehow make use of the Itanium's 4GB page size ;))))
:
:Pat.
Linux has a good idea re: mapping all of real memory into KVM, it's
just one that doesn't work well on a 32 bit architecture :-). But on
a 64 bit architecture it can be seriously useful. At the very least
we can get rid of the private pmap pages and make pmap copying a much
faster operation.
I read Kevin's thesis. Facinating! The GPT concept is essentially
a radix tree (and a degenerate version of the radix tree is, of course,
the normal two-level page table IA32 uses). All the memory and
performance issues Kevin brings up are exactly the same memory and
performance issues that a radix tree has. And he is bang-on in
regards to node sharing. With a normal page table node sharing is
difficult because each page in the page table represents a large area
of memory (4MB on IA32). But using a GPT we can potentially node-share
the bulk of the pages associated with shared libraries despite there
being COW'd pages in the middle of that space from the dynamic linking.
-Matt
Matthew Dillon
<[EMAIL PROTECTED]>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message