Re: Fwd: [PATCH] x86: Use larger chunks in mtrr_cleanup

From: Prarit Bhargava
Date: Thu Sep 03 2015 - 14:10:23 EST

On 09/03/2015 01:59 PM, Luis R. Rodriguez wrote:
> On Thu, Sep 03, 2015 at 08:17:02AM -0400, Prarit Bhargava wrote:
>> On 09/02/2015 10:45 PM, Luis R. Rodriguez wrote:
>>> On Mon, Aug 31, 2015 at 11:05:33AM -0500, Stuart Hayes wrote:
>>>> Increase the range of chunk sizes tried in mtrr_cleanup() so it is able
>>>> to map large memory configs into MTRRs.
>>>> Currently, mtrr_cleanup() will fail with large memory configurations,
>>>> because it limits chunk_size to 2GB, which means that each MTRR can only
>>>> cover 2GB of memory. With a memory size of, say, 256GB, and ten variable
>>>> MTRRs (such as some recent Intel CPUs have), it is not possible to set up
>>>> the MTRRs to cover all of memory.
>>> Linux drivers no longer use MTRR so why is the cleanup needed, ie, what would
>>> happen if the cleanup is just skipped in your case ?
>> The infiniband & video drivers still use MTRR (or at least it was my
>> understanding that they do).
> There were a few stragglers left on v4.2, I have transformed them in the latest
> development changes and those tranformations are now part of linux-next. If
> this is specific to a driver you may want to first ensure you backport the
> required patch that transforms the driver to use proper PAT interfaces, v4.2
> should have most updates but there were still a few left. Just make sure your
> driver doesn't call mtrr_add() directly and if it doesn't then you should be
> OK.
>> In any case, Stuart -- could you try booting with
>> 'disable_mtrr_cleanup' as a kernel parameter?
> Indeed, please I'd like to hear back. Be sure to have the respective driver
> transformation in place, what driver are you using exactly? In the event that
> you argue this is still needed I'd like to know exaclty *why*, the comit log
> does not mention any of that at all.

Well ... we are trying to also fix this in older kernels too, *cough* RHEL
*cough*, so that's where the patch comes from. If upstream is going to
deprecate/remove mtrr support so be it. We can do a stable fix instead to fix
older stable kernels.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at