public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Yinghai Lu <yhlu.kernel@gmail.com>
To: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Yinghai Lu <yhlu.kernel@gmail.com>
Subject: [PATCH 2/2] x86: mtrr_cleanup try gran_size to less than 1M
Date: Mon, 29 Sep 2008 18:54:12 -0700	[thread overview]
Message-ID: <1222739652-17169-2-git-send-email-yhlu.kernel@gmail.com> (raw)
In-Reply-To: <1222739652-17169-1-git-send-email-yhlu.kernel@gmail.com>

one have gran < 1M

reg00: base=0xd8000000 (3456MB), size= 128MB: uncachable, count=1
reg01: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1
reg02: base=0x00000000 (   0MB), size=4096MB: write-back, count=1
reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
reg04: base=0x120000000 (4608MB), size= 128MB: write-back, count=1
reg05: base=0xd7f80000 (3455MB), size= 512KB: uncachable, count=1

will get

Found optimal setting for mtrr clean up
gran_size: 512K         chunk_size: 2M  num_reg: 7      lose RAM: 0G
range0: 0000000000000000 - 00000000d8000000
Setting variable MTRR 0, base: 0GB, range: 2GB, type WB
Setting variable MTRR 1, base: 2GB, range: 1GB, type WB
Setting variable MTRR 2, base: 3GB, range: 256MB, type WB
Setting variable MTRR 3, base: 3328MB, range: 128MB, type WB
hole: 00000000d7f00000 - 00000000d7f80000
Setting variable MTRR 4, base: 3455MB, range: 512KB, type UC
rangeX: 0000000100000000 - 0000000128000000
Setting variable MTRR 5, base: 4GB, range: 512MB, type WB
Setting variable MTRR 6, base: 4608MB, range: 128MB, type WB

so start from 64k instead of 1M

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
---
 arch/x86/kernel/cpu/mtrr/main.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Index: linux-2.6/arch/x86/kernel/cpu/mtrr/main.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/mtrr/main.c
+++ linux-2.6/arch/x86/kernel/cpu/mtrr/main.c
@@ -1197,11 +1197,11 @@ struct mtrr_cleanup_result {
 };
 
 /*
- * gran_size: 1M, 2M, ..., 2G
+ * gran_size: 64K, 128K, 256K, 512K, 1M, 2M, ..., 2G
  * chunk size: gran_size, ..., 2G
- * so we need (1+12)*6
+ * so we need (1+16)*8
  */
-#define NUM_RESULT	78
+#define NUM_RESULT	136
 #define PSHIFT		(PAGE_SHIFT - 10)
 
 static struct mtrr_cleanup_result __initdata result[NUM_RESULT];
@@ -1322,7 +1322,7 @@ static int __init mtrr_cleanup(unsigned
 	i = 0;
 	memset(min_loss_pfn, 0xff, sizeof(min_loss_pfn));
 	memset(result, 0, sizeof(result));
-	for (gran_size = (1ULL<<20); gran_size < (1ULL<<32); gran_size <<= 1) {
+	for (gran_size = (1ULL<<16); gran_size < (1ULL<<32); gran_size <<= 1) {
 		char gran_factor;
 		unsigned long gran_base;
 

  reply	other threads:[~2008-09-30  1:55 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-30  1:54 [PATCH 1/2] x86: mtrr_cleanup prepare to make gran_size to less 1M Yinghai Lu
2008-09-30  1:54 ` Yinghai Lu [this message]
2008-10-02 22:03   ` [PATCH 2/2] x86: mtrr_cleanup try gran_size to less than 1M J.A. Magallón
2008-10-02 22:33     ` Yinghai Lu
2008-10-02 22:52       ` Yinghai Lu
2008-10-02 23:00         ` J.A. Magallón
2008-10-02 23:20           ` Yinghai Lu
2008-10-02 22:58       ` J.A. Magallón
2008-10-02 23:55       ` D. Hugh Redelmeier
2008-10-03  1:27         ` Yinghai Lu
2008-10-02 22:32   ` J.A. Magallón
2008-10-02 22:39     ` Yinghai Lu
2008-10-02 22:46       ` Yinghai Lu
2008-10-03  7:38         ` Ingo Molnar
2008-10-02 23:20       ` J.A. Magallón
2008-10-02 23:45         ` Yinghai Lu
2008-10-03  7:37     ` Ingo Molnar
2008-10-03  7:38       ` H. Peter Anvin
2008-10-03  7:42         ` Ingo Molnar
2008-10-03  7:44           ` H. Peter Anvin
2008-10-03 14:57         ` D. Hugh Redelmeier
2008-10-03  7:40       ` H. Peter Anvin
2008-10-03  7:44         ` Ingo Molnar
2008-10-03  7:41       ` J.A. Magallón
2008-09-30  4:07 ` [PATCH 1/2] x86: mtrr_cleanup prepare to make gran_size to less 1M H. Peter Anvin
2008-09-30  7:45   ` Ingo Molnar
2008-09-30  8:11     ` Ingo Molnar
2008-09-30 16:06       ` Yinghai Lu
2008-09-30 18:50       ` H. Peter Anvin

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=1222739652-17169-2-git-send-email-yhlu.kernel@gmail.com \
    --to=yhlu.kernel@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox