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;
next prev parent 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