All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Jacob Shin <jacob.shin@amd.com>
Cc: Borislav Petkov <bp@alien8.de>, Yinghai Lu <yinghai@kernel.org>,
	"H. Peter Anvin" <hpa@linux.intel.com>,
	"Yu, Fenghua" <fenghua.yu@intel.com>,
	"mingo@kernel.org" <mingo@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"linux-tip-commits@vger.kernel.org" 
	<linux-tip-commits@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [tip:x86/microcode] x86/microcode_intel_early.c: Early update ucode on Intel's CPU
Date: Wed, 19 Dec 2012 14:25:44 -0800	[thread overview]
Message-ID: <50D23EE8.7030904@zytor.com> (raw)
In-Reply-To: <20121219220504.GA32212@jshin-Toonie>

On 12/19/2012 02:05 PM, Jacob Shin wrote:
> On Wed, Dec 19, 2012 at 01:48:33PM -0800, H. Peter Anvin wrote:
>> There are a few very serious problems we need to figure out related to generalizing very early boot.  If this range gets mapped, will the CPU treat it as WB?  If so, with what consequences for either the HT region or the hole below it?
>
> Hm .. I guess I need to read the whole email thread .. but if you can
> explain it in short, what are the problems?
>
> Yes the CPU treats it as WB because the region is under TOM2, so by
> default it is WB, and also when you create direct mapping page tables,
> the PATs mark them as WB.
>
> What we have seen is that even though the kernel never generate memory
> accesses in the hole (since E820 says that it is not RAM) when kernel
> read/writes memory near the hole, the CPU was prefetching into the
> hole because PATs say that it is WB. This resulted in MCE because
> there is no physical RAM there.
>

IOW, epic f*ckup.

The problem is that before we have awareness of the memory map, we need 
to map things in order to access them.  This is a big problem and right 
now there are ridiculous heuristics.  I have been working on mapping on 
demand, but there are concerns about the boundaries (i.e. what happens 
if the mapping spill over into a pit like this.)

This kind of stuff is really not acceptable.  A region which will cause 
malfunction if prefetched should not be WB in the MTRR system (I include 
TOM* in that.)  The real question is what we can do to mitigate the damage.

	-hpa

-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


  reply	other threads:[~2012-12-19 22:26 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-30  1:47 [PATCH v2 00/11] x86/microcode: Early load microcode Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 01/10] Documentation/x86: " Fenghua Yu
2012-11-30 19:46   ` H. Peter Anvin
2012-11-30 20:40     ` Yu, Fenghua
2012-11-30  1:47 ` [PATCH v2 02/10] x86/microcode_intel.h: Define functions and macros for early loading ucode Fenghua Yu
2012-12-01  0:21   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 03/10] x86/microcode_core_early.c: Define interfaces " Fenghua Yu
2012-12-01  0:23   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 04/10] x86/microcode_intel_lib.c: Early update ucode on Intel's CPU Fenghua Yu
2012-12-01  0:24   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 05/10] x86/microcode_intel_early.c: " Fenghua Yu
2012-12-01  0:25   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-12-01  0:55     ` Yinghai Lu
2012-12-04  0:18       ` Yu, Fenghua
2012-12-11  2:39         ` Yinghai Lu
2012-12-11  3:41           ` H. Peter Anvin
2012-12-11  3:55             ` Yinghai Lu
2012-12-11  6:34               ` H. Peter Anvin
2012-12-11  7:07                 ` Yinghai Lu
2012-12-11 14:57                   ` Borislav Petkov
2012-12-11 16:46                     ` Yinghai Lu
2012-12-11 16:48                       ` H. Peter Anvin
2012-12-11 17:00                         ` Yinghai Lu
2012-12-11 17:06                           ` Borislav Petkov
2012-12-11 17:15                             ` Yinghai Lu
2012-12-11 17:26                               ` Yu, Fenghua
2012-12-11 17:38                               ` H. Peter Anvin
2012-12-11 23:53                                 ` Yinghai Lu
2012-12-11 23:57                                   ` H. Peter Anvin
2012-12-12  0:27                                     ` Yinghai Lu
2012-12-12  0:37                                       ` H. Peter Anvin
2012-12-12  7:14                                         ` Yinghai Lu
2012-12-12 10:26                                           ` Yinghai Lu
2012-12-13  1:06                                           ` Yinghai Lu
2012-12-12  6:57                                       ` H. Peter Anvin
2012-12-12 13:38                                         ` Borislav Petkov
2012-12-12 17:43                                           ` H. Peter Anvin
2012-12-13  5:12                                           ` H. Peter Anvin
2012-12-13  5:26                                             ` H. Peter Anvin
2012-12-13  7:01                                               ` Yinghai Lu
2012-12-13 15:01                                                 ` H. Peter Anvin
2012-12-13 19:13                                               ` Borislav Petkov
2012-12-13 21:36                                                 ` H. Peter Anvin
2012-12-14  9:11                                                   ` Yinghai Lu
2012-12-14 18:16                                                     ` H. Peter Anvin
2012-12-14 19:46                                                     ` H. Peter Anvin
2012-12-14 20:04                                                       ` Yinghai Lu
2012-12-14 20:08                                                         ` Yinghai Lu
2012-12-14 20:14                                                           ` Yinghai Lu
2012-12-14 20:44                                                             ` H. Peter Anvin
2012-12-15  7:57                                                           ` Yinghai Lu
2012-12-15 19:30                                                             ` H. Peter Anvin
2012-12-15 20:55                                                               ` Yinghai Lu
2012-12-15 21:31                                                                 ` H. Peter Anvin
2012-12-15 21:40                                                                 ` H. Peter Anvin
2012-12-15 22:13                                                                   ` Yinghai Lu
2012-12-15 22:17                                                                     ` H. Peter Anvin
2012-12-15 23:15                                                                       ` Yinghai Lu
2012-12-15 23:17                                                                         ` H. Peter Anvin
2012-12-19 20:37                                                                           ` Borislav Petkov
2012-12-19 21:07                                                                             ` Jacob Shin
2012-12-19 21:48                                                                               ` H. Peter Anvin
2012-12-19 22:05                                                                                 ` Jacob Shin
2012-12-19 22:25                                                                                   ` H. Peter Anvin [this message]
2012-12-19 22:47                                                                                     ` Yinghai Lu
2012-12-19 22:59                                                                                       ` H. Peter Anvin
2012-12-19 22:51                                                                                     ` Borislav Petkov
2012-12-19 22:59                                                                                       ` Jacob Shin
2012-12-19 23:03                                                                                         ` Borislav Petkov
2012-12-19 23:21                                                                                           ` Jacob Shin
2012-12-19 23:56                                                                                             ` H. Peter Anvin
2012-12-19 23:22                                                                                           ` H. Peter Anvin
2012-12-19 23:40                                                                                             ` Borislav Petkov
2012-12-20  0:02                                                                                               ` H. Peter Anvin
2012-12-20  0:10                                                                                                 ` Borislav Petkov
2012-12-20  0:15                                                                                                   ` H. Peter Anvin
2012-12-19 23:40                                                                                             ` Yinghai Lu
2012-12-19 23:43                                                                                               ` H. Peter Anvin
2012-12-19 23:48                                                                                                 ` Yinghai Lu
2012-12-19 23:40                                                                                             ` Jacob Shin
2012-12-19 23:45                                                                                               ` Yinghai Lu
2012-12-19 23:50                                                                                               ` H. Peter Anvin
2012-12-19 23:55                                                                                                 ` Borislav Petkov
2012-12-19 23:57                                                                                                   ` H. Peter Anvin
2012-12-20  0:07                                                                                                 ` Jacob Shin
2012-12-20  0:24                                                                                                   ` H. Peter Anvin
2012-12-20  0:29                                                                                                     ` Jacob Shin
2012-12-20  0:41                                                                                                       ` H. Peter Anvin
2012-12-20  2:37                                                                                                       ` H. Peter Anvin
2012-12-20  4:16                                                                                                         ` Jacob Shin
2012-12-20  4:21                                                                                                           ` H. Peter Anvin
2012-12-19 22:55                                                                                     ` Jacob Shin
2012-12-19 23:00                                                                                       ` Borislav Petkov
2012-12-19 23:17                                                                                         ` H. Peter Anvin
2012-12-19 23:30                                                                                           ` Borislav Petkov
2012-12-19 23:37                                                                                             ` H. Peter Anvin
2012-12-19 23:23                                                                                       ` H. Peter Anvin
2012-12-16  2:09                                                                   ` Yinghai Lu
2012-12-16  5:17                                                                     ` Yinghai Lu
2012-12-16  8:50                                                                       ` Yinghai Lu
2012-12-17 22:47                                                                         ` Yinghai Lu
2012-12-17 23:11                                                                           ` H. Peter Anvin
2012-12-17 23:26                                                                             ` Yinghai Lu
2012-12-18  1:11                                                                               ` Yinghai Lu
2012-12-18  1:51                                                                                 ` Yinghai Lu
2012-12-18  2:42                                                                                   ` Yinghai Lu
2012-12-14 20:10                                                         ` H. Peter Anvin
2012-12-14 20:17                                                           ` Yinghai Lu
2012-12-14 20:52                                                             ` H. Peter Anvin
2012-12-14 21:07                                                         ` Yinghai Lu
2012-12-11 18:02                               ` H. Peter Anvin
2012-12-11 18:20                                 ` H. Peter Anvin
2012-12-11 18:42                                   ` Yinghai Lu
2012-12-11 18:46                                     ` H. Peter Anvin
2012-12-11 19:18                                       ` Yinghai Lu
2012-12-11 19:33                                         ` H. Peter Anvin
2012-11-30  1:47 ` [PATCH v2 06/10] x86/head_32.S: Early update ucode in 32-bit Fenghua Yu
2012-12-01  0:26   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 07/10] x86/head64.c: Early update ucode in 64-bit Fenghua Yu
2012-12-01  0:27   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 08/10] x86/smpboot.c: Early update ucode on AP Fenghua Yu
2012-12-01  0:28   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 09/10] x86/mm/init.c: Copy ucode from initrd image to memory Fenghua Yu
2012-12-01  0:29   ` [tip:x86/microcode] " tip-bot for Fenghua Yu
2012-11-30  1:47 ` [PATCH v2 10/10] x86/Kconfig: Configurations to enable/disable the feature Fenghua Yu
2012-12-01  0:30   ` [tip:x86/microcode] x86/Kconfig: Configurations to enable/ disable " tip-bot for Fenghua Yu
  -- strict thread matches above, loose matches on Subject: below --
2012-12-21  7:44 [PATCH v5 08/12] x86/microcode_intel_early.c: Early update ucode on Intel's CPU Fenghua Yu
2013-01-31 22:33 ` [tip:x86/microcode] " tip-bot for Fenghua Yu

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=50D23EE8.7030904@zytor.com \
    --to=hpa@zytor.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=bp@alien8.de \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@linux.intel.com \
    --cc=jacob.shin@amd.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=yinghai@kernel.org \
    /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.