Re: [PATCH 1/1] x86, e820: Remove direct mapping of reserved spacefor HT hole around 1TB

From: Andreas Herrmann
Date: Thu Oct 13 2011 - 05:57:41 EST


On Tue, Oct 11, 2011 at 04:44:39PM -0700, H. Peter Anvin wrote:
> On 10/11/2011 03:09 PM, Jacob Shin wrote:
> > The entire HT hole and also the unused address range before that hole
> > need to be excluded from direct mapping. Otherwise speculative
> > accesses to that reserved region can happen which cause machine
> > checks.

> BARF!

> This is completely insane ad hockery when all that really should
> need to happen is marking the HT region RESERVED, which should be
> possible on any HT-equipped processor.

Great, thanks for this hint, I would never have thought that ... but
wait, guess what, we have tried this already.

Initially we had following situation:

BIOS-e820: 0000000100000000 - 000000e038000000 (usable)
BIOS-e820: 000000e038000000 - 000000fd00000000 (reserved)
BIOS-e820: 0000010000000000 - 0000011fff000000 (usable)
...
init_memory_mapping: 0000000100000000-0000011fff000000
0100000000 - 11fc0000000 page 1G
11fc0000000 - 11fff000000 page 2M
kernel direct mapping tables up to 11fff000000 @ 11ffeffc000-11fff000000

But MCEs due to speculative accesses happened to the reserved region
before the HT hole.

So what is the point in including address space below TOM2 not backed
with memory in kernel's direct mapping? For similar reserved space
before 4GB we don't do this.

Instead of barfing, some more constructive feedback would be
appreciated.


Thanks,

Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/