From: Ingo Molnar <mingo@elte.hu>
To: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Suresh Siddha <suresh.b.siddha@intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Jeremy Fitzhardinge <jeremy@goop.org>,
Arjan van de Ven <arjan@infradead.org>
Subject: Re: [PATCh] x86: overmapped fix when 4K pages on tail - 64bit
Date: Thu, 10 Jul 2008 09:20:23 +0200 [thread overview]
Message-ID: <20080710072023.GD14377@elte.hu> (raw)
In-Reply-To: <86802c440807092357x293224bfh212665a164a41553@mail.gmail.com>
* Yinghai Lu <yhlu.kernel@gmail.com> wrote:
> > that the number of mapping ranges depends on our programming, not on
> > any external factor. I.e. if anyone adds a new mapping range to the
> > kernel for any purpose, it must be extended - but otherwise it
> > cannot run out due to new hardware.
>
> 4k, 2M, 1G, 2M, 4k
>
> some day will get 512g page?
i'd not be surprised to see that in ~10 years. Then we'll have to extend
the array to 7 entries ;-)
btw., i have a weird system:
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
[ 0.000000] BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000003ed93000 (usable)
[ 0.000000] BIOS-e820: 000000003ed93000 - 000000003ee4d000 (ACPI NVS)
[ 0.000000] BIOS-e820: 000000003ee4d000 - 000000003fea2000 (usable)
[ 0.000000] BIOS-e820: 000000003fea2000 - 000000003fee9000 (ACPI NVS)
[ 0.000000] BIOS-e820: 000000003fee9000 - 000000003feed000 (usable)
[ 0.000000] BIOS-e820: 000000003feed000 - 000000003feff000 (ACPI data)
[ 0.000000] BIOS-e820: 000000003feff000 - 000000003ff00000 (usable)
look at the RAM splitup:
640K + BIOS-hole + ~1GB + acpi + 17MB + acpi + 16K + acpi + 4K
and the end of it is not 1024 MB but 1023 MB.
so the _best_ mapping strategy would probably be to do 2MB granular
mapping up to 1GB, i.e. to 'overmap' into the end of RAM. But we also
have to make sure that we have no PCI resources or weird chipset
resources in the final 1MB that could hurt us with PAT, aliasing-wise.
Since i'm not sure we can really ensure sanity on that level, i guess
your solution to precisely map everything without overmapping is our
best choice. Thus sane hw with such end of RAM mappings:
BIOS-e820: 0000000100000000 - 0000000120000000 (usable)
and another one with:
BIOS-e820: 0000000100000000 - 0000000830000000 (usable)
... would be slightly faster (because it would use 2MB TLBs at the end
of kernel RAM, instead of broken-up 4K TLBs)
perhaps we could also have a config and boot option that would sanitize
the e820 map to just ignore all non-2MB granular RAM. Losing 1-2MB of
RAM is not an issue on a 32GB system.
Ingo
next prev parent reply other threads:[~2008-07-10 7:20 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-08 8:41 [PATCH] x86: introduce page_size_mask for 64bit Yinghai Lu
2008-07-08 8:43 ` [PATCH] x86: not overmap than end in init_memory_mapping - 64bit Yinghai Lu
2008-07-09 7:38 ` Ingo Molnar
2008-07-09 8:34 ` Ingo Molnar
2008-07-09 8:37 ` Yinghai Lu
2008-07-09 8:46 ` Ingo Molnar
2008-07-09 8:58 ` Yinghai Lu
2008-07-09 10:01 ` Yinghai Lu
2008-07-09 10:30 ` Ingo Molnar
2008-07-09 8:45 ` Ingo Molnar
2008-07-10 3:15 ` [PATCh] x86: overmapped fix when 4K pages on tail " Yinghai Lu
2008-07-10 3:16 ` [PATCH] x86: merge __acpi_map_table Yinghai Lu
2008-07-10 3:17 ` [PATCH] x86: make e820_end return end_of_ram again for 64bit Yinghai Lu
2008-07-10 7:00 ` Ingo Molnar
2008-07-10 11:17 ` [PATCH] x86: e820 remove the range instead of update it to reserved Yinghai Lu
2008-07-11 8:20 ` Ingo Molnar
2008-07-11 3:36 ` [PATCH] x86: save slit Yinghai Lu
2008-07-11 8:22 ` Ingo Molnar
2008-07-11 3:38 ` [PATCH] x86: introduce max_low_pfn_mapped for 64bit Yinghai Lu
2008-07-11 8:26 ` Ingo Molnar
2008-07-11 8:39 ` Yinghai Lu
2008-07-11 8:51 ` Ingo Molnar
2008-07-12 1:41 ` [PATCH] x86: let 32bit use apic_ops too Yinghai Lu
2008-07-12 1:43 ` [PATCH] x86: mach_apicdef.h need to include before smp.h Yinghai Lu
2008-07-12 1:44 ` [PATCH] x86: make read_apic_id return final apicid Yinghai Lu
2008-07-12 8:01 ` [PATCH] x86: make 64bit have get_apic_id Yinghai Lu
2008-07-13 6:28 ` Ingo Molnar
2008-07-13 6:59 ` Ingo Molnar
2008-07-13 7:05 ` Yinghai Lu
2008-07-13 9:23 ` Ingo Molnar
2008-07-13 9:28 ` Ingo Molnar
2008-07-13 16:15 ` Suresh Siddha
2008-07-13 1:19 ` [PATCH] x86: make read_apic_id return final apicid Suresh Siddha
2008-07-13 1:08 ` [PATCH] x86: let 32bit use apic_ops too Suresh Siddha
2008-07-13 2:04 ` Yinghai Lu
2008-07-13 16:28 ` Suresh Siddha
2008-07-13 16:51 ` Maciej W. Rozycki
2008-07-13 17:16 ` Cyrill Gorcunov
2008-07-13 23:46 ` Maciej W. Rozycki
2008-07-14 16:48 ` Cyrill Gorcunov
2008-07-14 17:20 ` Maciej W. Rozycki
2008-07-14 18:09 ` Cyrill Gorcunov
2008-07-14 18:24 ` Maciej W. Rozycki
2008-07-14 18:32 ` Cyrill Gorcunov
2008-07-13 1:43 ` Maciej W. Rozycki
2008-07-13 1:45 ` Yinghai Lu
2008-07-13 1:54 ` Maciej W. Rozycki
2008-07-13 16:43 ` Suresh Siddha
2008-07-13 17:05 ` Maciej W. Rozycki
2008-07-14 5:19 ` [PATCH] x86: let 32bit use apic_ops too - fix Yinghai Lu
2008-07-14 7:12 ` Ingo Molnar
2008-07-14 16:49 ` Suresh Siddha
2008-07-14 17:00 ` Yinghai Lu
2008-07-14 18:03 ` Suresh Siddha
2008-07-18 17:06 ` Ingo Molnar
2008-07-15 17:33 ` Suresh Siddha
2008-07-15 18:10 ` Yinghai Lu
2008-07-15 18:27 ` Suresh Siddha
2008-07-18 17:07 ` Ingo Molnar
2008-07-12 21:30 ` [PATCH] x86: max_low_pfn_mapped fix #1 Yinghai Lu
2008-07-13 9:45 ` Ingo Molnar
2008-07-12 21:31 ` [PATCH] x86: max_low_pfn_mapped fix #2 Yinghai Lu
2008-07-12 21:32 ` [PATCH] x86: max_low_pfn_mapped fix #3 Yinghai Lu
2008-07-13 21:29 ` [PATCH] x86: max_low_pfn_mapped fix #4 Yinghai Lu
2008-07-13 21:30 ` [PATCH] x86: get x86_phys_bits early Yinghai Lu
2008-07-13 21:32 ` [PATCH] x86: make 64bit hpet_set_mapping to use ioremap too Yinghai Lu
2008-07-13 21:50 ` [PATCH] x86: make 64bit hpet_set_mapping to use ioremap too v2 Yinghai Lu
2008-07-10 6:54 ` [PATCH] x86: merge __acpi_map_table Ingo Molnar
2008-07-10 6:53 ` [PATCh] x86: overmapped fix when 4K pages on tail - 64bit Ingo Molnar
2008-07-10 6:57 ` Yinghai Lu
2008-07-10 7:20 ` Ingo Molnar [this message]
2008-07-10 7:32 ` Yinghai Lu
2008-07-10 14:16 ` Arjan van de Ven
2008-07-13 14:57 ` Andi Kleen
2008-07-13 15:33 ` Arjan van de Ven
2008-07-13 18:25 ` Andi Kleen
2008-07-13 18:17 ` Yinghai Lu
2008-07-13 18:48 ` Andi Kleen
2008-07-13 19:00 ` Yinghai Lu
2008-07-13 20:32 ` Ingo Molnar
2008-07-13 20:51 ` Andi Kleen
2008-07-14 0:04 ` H. Peter Anvin
2008-07-14 6:39 ` Andi Kleen
2008-07-09 7:38 ` [PATCH] x86: introduce page_size_mask for 64bit 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=20080710072023.GD14377@elte.hu \
--to=mingo@elte.hu \
--cc=arjan@infradead.org \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=yhlu.kernel@gmail.com \
/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.