Fwd: patch for linux-2.6.30/arch/x86_64/mm/init.c

From: jing zhang
Date: Sun Jun 21 2009 - 02:26:21 EST


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@xxxxxxxxx>
Date: Sun, 21 Jun 2009 14:15:09 +0800
Subject: patch for linux-2.6.30/arch/x86_64/mm/init.c
To: ak@xxxxxxx

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 */

//<<<<<<<<<<<<<<<<<<<<<
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/