Re: [PATCH 1/1] x86: Exclude E820_RESERVED regions and memory holesabove 4 GB from direct mapping.

From: Jacob Shin
Date: Thu Oct 20 2011 - 18:10:53 EST


On Thu, 2011-10-20 at 16:30 -0500, H. Peter Anvin wrote:
> On 10/20/2011 02:28 PM, Andi Kleen wrote:
> > Jacob Shin <jacob.shin@xxxxxxx> writes:
> >
> >> On systems with very large memory (1 TB in our case), BIOS may report a
> >> reserved region or a hole in the E820 map, even above the 4 GB range. Exclude
> >> these from the direct mapping.
> >
> > This doesn't make much sense. Holes above 4GB are completely legal.
> >
> > If you need to workaround a specific broken BIOS you would need a quirk
> > only matching that system, with a suitable "BIOS is broken" message.
> >
>
> The problem is that apparently right now we map those unconditionally
> into the 1:1 map and mark them cacheable in PAT, which we *don't* for
> the < 4 GiB map.
>
> This thus makes the behavior match < 4 GiB, which is the correct
> behavior; this should be made clear in the patch description.

Will something like:

"On systems with very large memory (1 TB in our case), BIOS may report a
reserved region or a hole in the E820 map, even above the 4 GB range.
Avoid mapping them unconditionally into kernel 1:1 direct mapping as
cacheable memory, as we also already do for the MMIO hole under 4 GB."

Work?

Otherwise, does the patch look acceptable?

Thanks!

-Jacob Shin
Advanced Micro Devices, Inc.

>
> -hpa
>



--
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/