Messages in this thread | | | Date | Fri, 21 Mar 2008 18:45:54 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH] [4/7] Don't use large pages to map the first 2/4MB of memory |
| |
On Wed, 12 Mar 2008, Andi Kleen wrote: > Intel recommends to not use large pages for the first 1MB > of the physical memory because there are fixed size MTRRs there > which cause splitups in the TLBs. > > On AMD doing so is also a good idea. > > The implementation is a little different between 32bit and 64bit. > On 32bit I just taught the initial page table set up about this > because it was very simple to do. This also has the advantage > that the risk of a prefetch ever seeing the page even > if it only exists for a short time is minimized. > > On 64bit that is not quite possible, so use set_memory_4k() a little > later (in check_bugs) instead.
> + /* > + * Make sure the first 2MB area is not mapped by huge pages > + * There are typically fixed size MTRRs in there and overlapping > + * MTRRs into large pages causes slow downs. > + * > + * Right now we don't do that with gbpages because there seems > + * very little benefit for that case.
And why exactly ? Does slowdown not matter with gbpages ?
Also we split the first GB mapping anyway due to the various regions (NX, RO, UC) in there.
Thanks,
tglx
| |