Re: [PATCH 04/10] 8xx: Always pin kernel instruction TLB
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2009-11-14 21:41:18
On Sat, 2009-11-14 at 20:08 +0100, Joakim Tjernlund wrote:
Dan Malek [off-list ref] wrote on 14/11/2009 19:08:43:quoted
On Nov 14, 2009, at 2:42 AM, Joakim Tjernlund wrote:quoted
..... 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.