Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 89069
b: refs/heads/master
c: f5c24a7
h: refs/heads/master
i:
  89067: 4eb6d02
v: v3
  • Loading branch information
Andi Kleen authored and Ingo Molnar committed Apr 17, 2008
1 parent 5a55e23 commit 821fb51
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c9caa02c529d5e113e40cbc77254558fcdfa4215
refs/heads/master: f5c24a7fd0798d636af184cc7032e7e0cb149112
12 changes: 12 additions & 0 deletions trunk/arch/x86/kernel/bugs_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include <asm/bugs.h>
#include <asm/processor.h>
#include <asm/mtrr.h>
#include <asm/cacheflush.h>

void __init check_bugs(void)
{
Expand All @@ -18,4 +19,15 @@ void __init check_bugs(void)
print_cpu_info(&boot_cpu_data);
#endif
alternative_instructions();

/*
* 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.
*/
if (!direct_gbpages)
set_memory_4k((unsigned long)__va(0), 1);
}
7 changes: 6 additions & 1 deletion trunk/arch/x86/mm/init_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,13 @@ static void __init kernel_physical_mapping_init(pgd_t *pgd_base)
/*
* Map with big pages if possible, otherwise
* create normal page tables:
*
* Don't use a large page for the first 2/4MB of memory
* because there are often fixed size MTRRs in there
* and overlapping MTRRs into large pages can cause
* slowdowns.
*/
if (cpu_has_pse) {
if (cpu_has_pse && !(pgd_idx == 0 && pmd_idx == 0)) {
unsigned int addr2;
pgprot_t prot = PAGE_KERNEL_LARGE;

Expand Down

0 comments on commit 821fb51

Please sign in to comment.