All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: "Ozan Çağlayan" <ozan@pardus.org.tr>,
	"Alexey Dobriyan" <adobriyan@gmail.com>,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	"Ingo Molnar" <mingo@elte.hu>
Subject: [PATCH] x86: suggest running a 64bit kernel on LM capable machines with plenty memory.
Date: Mon, 09 Mar 2009 14:42:48 +0100	[thread overview]
Message-ID: <1236606168.8389.512.camel@laptop> (raw)
In-Reply-To: <87r617ojfi.fsf@firstfloor.org>

On Sun, 2009-03-08 at 21:20 +0100, Andi Kleen wrote:
> Ozan Çağlayan <ozan@pardus.org.tr> writes:
> >
> > So, the PAE enabled kernel should be installed by distribution installers or
> > package management systems if the processor honors the PAE bit. Because PAE
> > is an extension mechanism for 32bit processors, AFAIK it has some overhead.
> > So enabling it if the user doesn't have a memory size >=4GB would not make
> > much sense if a proper noexecute (NX) support is not intended.
> 
> The general recommendation is to always use PAE when the machine 
> is NX capable. Or at least use it by default.

How about we do the below as well?

---
If the hardware is capable, its much better to run a 64bit kernel than a
32bit PAE kernel with lots of memory.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
---
 arch/x86/mm/init_32.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 34ef5c7..3d22baa 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -714,6 +714,9 @@ void __init lowmem_pfn_init(void)
 
 #define MSG_HIGHMEM_TRIMMED \
 	"Warning: only 4GB will be used. Use a HIGHMEM64G enabled kernel!\n"
+
+#define MSG_LM_TRIMMED \
+	"Warning: instead of using a 32bit PAE kernel, Use a 64bit kernel!\n"
 /*
  * We have more RAM than fits into lowmem - we try to put it into
  * highmem, also taking the highmem=x boot parameter into account:
@@ -750,6 +753,8 @@ void __init highmem_pfn_init(void)
 	}
 #endif /* !CONFIG_HIGHMEM64G */
 #endif /* !CONFIG_HIGHMEM */
+	if (boot_cpu_has(X86_FEATURE_LM))
+		printk(KERN_WARNING MSG_LM_TRIMMED);
 }
 
 /*



  reply	other threads:[~2009-03-09 13:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-07 11:04 [RFC] A simple way to determine if the kernel needs HIGHMEM64G to be able to use all the installed memory Ozan Çağlayan
2009-03-07 19:30 ` Alexey Dobriyan
2009-03-07 19:43   ` Ozan Çağlayan
2009-03-08 20:20     ` Andi Kleen
2009-03-09 13:42       ` Peter Zijlstra [this message]
2009-03-09 19:15         ` [PATCH] x86: suggest running a 64bit kernel on LM capable machines with plenty memory Andi Kleen
2009-03-10  9:37           ` Peter Zijlstra
2009-03-10 12:50             ` Andi Kleen
2009-03-10 13:21             ` Arjan van de Ven
2009-03-11 12:01               ` Peter Zijlstra
2009-03-11 12:38                 ` Andi Kleen
2009-03-11 11:47             ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1236606168.8389.512.camel@laptop \
    --to=peterz@infradead.org \
    --cc=adobriyan@gmail.com \
    --cc=andi@firstfloor.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=ozan@pardus.org.tr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.