LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Cc: Andi Kleen <andi@firstfloor.org>,
ebiederm@xmission.com, rdreier@cisco.com,
torvalds@linux-foundation.org, gregkh@suse.de, airlied@skynet.ie,
davej@redhat.com, tglx@linutronix.de,
linux-kernel@vger.kernel.org, "Siddha,
Suresh B" <suresh.b.siddha@intel.com>,
Arjan van de Ven <arjan@infradead.org>
Subject: Re: [patch 02/11] PAT x86: Map only usable memory in x86_64 identity map and kernel text
Date: Mon, 14 Jan 2008 17:43:24 +0100 [thread overview]
Message-ID: <20080114164324.GH15542@elte.hu> (raw)
In-Reply-To: <924EFEDD5F540B4284297C4DC59F3DEE5A28CE@orsmsx423.amr.corp.intel.com>
* Pallipadi, Venkatesh <venkatesh.pallipadi@intel.com> wrote:
> Also, relying on MTRR, is like giving more importance to BIOS writer
> than required :-). I think the best way to deal with MTRR is just to
> not touch it. Leave it as it is and do not try to assume that they are
> correct, as frequently they will not be.
i'd suggest the following strategy on PAT-capable CPUs:
- do not try to write MTRRs. Ever.
- _read_ the current MTRR settings (including the default MTRR) and
check them against the e820 map. I can see two basic types of
mismatches:
- RAM area marked fine in e820 but marked UC by MTRR: this
currently results in a slow system. (NOTE: UC- would be fine and
overridable by PAT, hence it's not a conflict we should detect.)
- mmio area marked cacheable in the MTRR (results in broken system)
then emit a warning and exclude all such areas from any further Linux
use. I.e. if it's RAM then clip it from our memory map. If it's mmio
area then try to exclude it from BAR sizing/positioning.
this way we'll only have two sorts of physical pages put into
pagetables by Linux:
1) RAM page, marked cacheable by MTRR
2) RAM page, marked as UC- by MTRR
2) mmio page, marked as UC- by MTRR
- then we'd use PAT for all these patches to differentiate their
caching properties. We mark RAM pages as cacheable, and we mark mmio
pages as WC or UC.
I.e. try to be as conservative and always have a deterministic exit
strategy towards a 100% working system, even if BIOS writers messed up
the MTRR defaults. _Worst-case_ we boot up with somewhat less RAM or
with a somewhat smaller mmio area. (but there will be warnings in the
dmesg about that so users can complain about the BIOS.) We should never
ever allow the wrong BIOS MTRR defaults to impact Linux's correctness.
hm?
Ingo
next prev parent reply other threads:[~2008-01-14 16:45 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-10 18:48 [patch 00/11] PAT x86: PAT support for x86 venkatesh.pallipadi
2008-01-10 18:48 ` [patch 01/11] PAT x86: Make acpi/other drivers map memory instead of assuming identity map venkatesh.pallipadi
2008-01-10 18:48 ` [patch 02/11] PAT x86: Map only usable memory in x86_64 identity map and kernel text venkatesh.pallipadi
2008-01-10 19:06 ` Andi Kleen
2008-01-10 19:17 ` Pallipadi, Venkatesh
2008-01-10 19:28 ` Andi Kleen
2008-01-10 20:50 ` Pallipadi, Venkatesh
2008-01-10 21:16 ` Andi Kleen
2008-01-10 22:25 ` Pallipadi, Venkatesh
2008-01-10 22:35 ` Andi Kleen
2008-01-14 16:43 ` Ingo Molnar [this message]
2008-01-14 21:21 ` Siddha, Suresh B
2008-01-14 21:28 ` Andi Kleen
2008-01-15 22:17 ` Ingo Molnar
2008-01-15 23:11 ` Andi Kleen
2008-01-15 23:21 ` Siddha, Suresh B
2008-01-18 12:01 ` Ingo Molnar
2008-01-18 13:12 ` Andi Kleen
2008-01-18 16:46 ` Jesse Barnes
2008-01-18 18:12 ` Andi Kleen
2008-01-18 19:02 ` Jesse Barnes
2008-01-19 2:42 ` Andi Kleen
2008-01-10 21:05 ` Linus Torvalds
2008-01-10 21:57 ` Pallipadi, Venkatesh
2008-01-10 22:15 ` Linus Torvalds
2008-01-10 22:27 ` Pallipadi, Venkatesh
2008-01-10 22:50 ` Valdis.Kletnieks
2008-01-18 18:27 ` Dave Jones
2008-01-18 20:54 ` Ingo Molnar
2008-01-10 18:48 ` [patch 03/11] PAT x86: Map only usable memory in i386 identity map venkatesh.pallipadi
2008-01-10 19:10 ` Andi Kleen
2008-01-10 18:48 ` [patch 04/11] PAT x86: Basic PAT implementation venkatesh.pallipadi
2008-01-10 18:48 ` [patch 05/11] PAT x86: drm driver changes for PAT venkatesh.pallipadi
2008-01-10 18:48 ` [patch 06/11] PAT x86: Refactoring i386 cpa venkatesh.pallipadi
2008-01-10 19:00 ` Andi Kleen
2008-01-14 16:47 ` Ingo Molnar
2008-01-10 18:48 ` [patch 07/11] PAT x86: pat-conflict resolution using linear list venkatesh.pallipadi
2008-01-10 19:13 ` Andi Kleen
2008-01-10 20:08 ` Pallipadi, Venkatesh
2008-01-10 18:48 ` [patch 08/11] PAT x86: pci mmap conlfict patch venkatesh.pallipadi
2008-01-10 18:48 ` [patch 09/11] PAT x86: Add ioremap_wc support venkatesh.pallipadi
2008-01-10 19:08 ` Andi Kleen
2008-01-10 19:25 ` Pallipadi, Venkatesh
2008-01-12 0:18 ` Roland Dreier
2008-01-10 18:48 ` [patch 10/11] PAT x86: Handle /dev/mem mappings venkatesh.pallipadi
2008-01-10 18:48 ` [patch 11/11] PAT x86: Expose uc and wc interfaces in /sysfs vor pci_mmap_resource venkatesh.pallipadi
2008-01-10 19:43 ` Greg KH
2008-01-10 20:54 ` [patch 11/11] PAT x86: Expose uc and wc interfaces in /sysfsvor pci_mmap_resource Pallipadi, Venkatesh
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=20080114164324.GH15542@elte.hu \
--to=mingo@elte.hu \
--cc=airlied@skynet.ie \
--cc=andi@firstfloor.org \
--cc=arjan@infradead.org \
--cc=davej@redhat.com \
--cc=ebiederm@xmission.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=rdreier@cisco.com \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=venkatesh.pallipadi@intel.com \
--subject='Re: [patch 02/11] PAT x86: Map only usable memory in x86_64 identity map and kernel text' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).