[PATCH 04/10] 8xx: Always pin kernel instruction TLB
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sun Nov 15 08:41:06 EST 2009
On Sat, 2009-11-14 at 20:08 +0100, Joakim Tjernlund wrote:
> Dan Malek <dan at embeddedalley.com> wrote on 14/11/2009 19:08:43:
> > On Nov 14, 2009, at 2:42 AM, Joakim Tjernlund wrote:
> >
> > > ..... Avoid this by always pinning
> > > kernel instruction TLB space.
> >
> > You may as well map the data space, too, since you have
> > reserved the entries. Take advantage of that performance.
> > Also, some processor variants have very few TLB entries,
> > and may only reserve two entries (although the flag says
> > reserve 4). Ensure there are sufficient resources to do
> > what you want. This is the reason the option is configurable.
>
> Scott had some concerns about pinning the data space too. That is
> is why I left the data TLB pinning behind the the config option.
>
> How to make better use of the remaining ITLB slots is tricky.
> Somehow one would want to map at lest one to modules but I cannot see how.
No. If you use modules, you pay the price. Sane embedded solutions
running in "tight" environments don't use modules :-) No point pinning
TLB entries on the vmalloc space, really.
What -might- be more useful is to look at Grant work on re-doing the
early ioremap and providing a way to provide what the old
io_block_mapping() did, but with dynamically chosen virtual addresses,
to have a pinned entry covering most common IOs.
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list