Messages in this thread | | | Date | Sun, 21 Jun 2009 14:26:04 +0800 | Subject | Fwd: patch for linux-2.6.30/arch/x86_64/mm/init.c | From | jing zhang <> |
| |
hi,
I have no way sending to Andi Kleen, then try Mr. linux-kernel and Mr. Ingo Molnar.
btw, AC's mailbox @ suse closed, and why?
thank you
---------- Forwarded message ---------- From: jing zhang <zj.barak@gmail.com> Date: Sun, 21 Jun 2009 14:15:09 +0800 Subject: patch for linux-2.6.30/arch/x86_64/mm/init.c To: ak@suse.de
Good Sunday Mr. Andi Kleen,
It seems that in function unsigned long __init_refok init_memory_mapping(unsigned long start, unsigned long end)
CONFIG_DEBUG_PAGEALLOC conflicts with use_pse and use_gbpages when CONFIG_X86_32 also defined.
The following is my patch to you,
best
look forwar to your opion. zj
//<<<<<<<<<<<<<<<<<<<<<
#ifdef CONFIG_DEBUG_PAGEALLOC /* * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages. * This will simplify cpa(), which otherwise needs to support splitting * large pages into small in interrupt context, etc. */ use_pse = use_gbpages = 0; #else use_pse = cpu_has_pse; use_gbpages = direct_gbpages; #endif
#ifdef CONFIG_X86_32 #ifdef CONFIG_X86_PAE set_nx(); if (nx_enabled) printk(KERN_INFO "NX (Execute Disable) protection: active\n"); #endif /* Enable PSE if available */ - if (cpu_has_pse) + /* and #ifdef CONFIG_DEBUG_PAGEALLOC */ + if (cpu_has_pse && use_pse) set_in_cr4(X86_CR4_PSE);
/* Enable PGE if available */ - if (cpu_has_pge) { + /* and #ifdef CONFIG_DEBUG_PAGEALLOC */ + if (cpu_has_pge && use_gbpages) { set_in_cr4(X86_CR4_PGE); __supported_pte_mask |= _PAGE_GLOBAL; } #endif /* CONFIG_X86_32 */
//<<<<<<<<<<<<<<<<<<<<<
| |