Matt Dillon wrote:
>
> Linux also stores persistent information in their machine independant
> page tables. They aren't throw-away like FreeBSD's are. This will give
> us a huge advantage when we do the IA64 port.
I forgot to mention that Linux/IA-64 switches the processor to physical mode
to walk the 3 level page table in the VHPT miss handler. This has additional
overheads associated.
> In general I like the idea of using a VHPT as an STLB (are we having
> fun with terminology yet?).
Yes, Software TLB is a misnomer. Second level TLB is probably better. VHPT
can behave as either STLB or the primary page table of the OS.
> What I would truely love to do would be to get away with not using a GPT
> at all and instead doing a vm_map_lookup_entry()/vm_page_lookup()
> (essentially taking a vm_fault), then optimize the vm_map_entry
> structural hierarchy to look more like a GPT rather then the linear
> list it currently is. When coupled with an STLB, especially one that
> can be optimized, I think performance would be extremely good.
For finding the vm_map_entry for a virtual address, a balanced binary tree
works better. Linux does well here - it uses AVL trees, which find the
right vm_map_entry in O(log n) time.
-Arun
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message