mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Fwd: patch for linux-2.6.30/arch/x86_64/mm/init.c
       [not found] <ac8f92700906202315w7d274a98oa3abe6dcc7f9ede1@mail.gmail.com>
@ 2009-06-21  6:26 ` jing zhang
  2009-06-21 20:27   ` Yinghai Lu
  0 siblings, 1 reply; 2+ messages in thread
From: jing zhang @ 2009-06-21  6:26 UTC (permalink / raw)
  To: linux-kernel, mingo

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

//<<<<<<<<<<<<<<<<<<<<<

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: patch for linux-2.6.30/arch/x86_64/mm/init.c
  2009-06-21  6:26 ` Fwd: patch for linux-2.6.30/arch/x86_64/mm/init.c jing zhang
@ 2009-06-21 20:27   ` Yinghai Lu
  0 siblings, 0 replies; 2+ messages in thread
From: Yinghai Lu @ 2009-06-21 20:27 UTC (permalink / raw)
  To: jing zhang, Andi Kleen; +Cc: linux-kernel, mingo

On Sat, Jun 20, 2009 at 11:26 PM, jing zhang<zj.barak@gmail.com> wrote:
> 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?

he is not working for them.

>
> 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;

pge and gbpages is not same ...

also wonder what is code based for?

please check tip/master
http://people.redhat.com/mingo/tip.git/readme.txt

YH

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-06-21 20:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <ac8f92700906202315w7d274a98oa3abe6dcc7f9ede1@mail.gmail.com>
2009-06-21  6:26 ` Fwd: patch for linux-2.6.30/arch/x86_64/mm/init.c jing zhang
2009-06-21 20:27   ` Yinghai Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®