Dan,
Thanks for the info. I agree that Pinned tlbs could be maintence
headache with each 4xx/8xx
chip requiring a different set of pinned tlbs.
Chip
Dan Malek wrote:
Ralph Blach wrote:
quoted
Why do we need simulated bat registers.
To improve performance. Right now, on the 4xx there is the
concept of "pinned" TLB entries to reduce/eliminate TLB misses
on large mapped areas (like kernel text/data or I/O). The 8xx
does this in some custom applications as well. These are just
hacks that are headed down a disastrous maintenance path that
need to be stopped now for a more generic solution.
I have been experimenting with many different methods of using
the "large" page table sizes through the generic memory management
methods that already exist in the kernel. I believe I can wrap
the concept of the pinned TLB entries into the same logic as BAT
register management on the bigger processors. Hence, I call them
simulated BAT registers....the semantics aren't quite the same.
The BAT registers are a really good thing, and although the large
page size TLB entries are more flexible, they require more software
overhead. I would like to make some generic Linux MM modifications
to help us support variable page sizes, but I suspect that will
never happen.
-- Dan