Re: [PATCH] x86: Fix adjust_range_size_mask calling position

From: Yinghai Lu
Date: Tue May 28 2013 - 19:43:48 EST


On Tue, May 28, 2013 at 4:36 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 05/28/2013 04:28 PM, Yinghai Lu wrote:
>>
>> Actually there is bug about calling sequence for
>> adjust_range_page_size_mask(). Merge first will make
>> adjust to 1g for second partial 1g range fail.
>>
>
> Sorry, I'm not sure I understand what the above paragraph is trying to say.

We merge the continuous range with same page size allow too early.
in the case
[mem 0x00200000-0x3fffffff] page 2M
[mem 0x40000000-0x7bffffff] page 2M
after merging them, will get
[mem 0x00200000-0x7bffffff] page 2M
even we can use 1G page to map
[mem 0x40000000-0x7bffffff]

that will cause problem, because we map
[mem 0x7fe00000-0x7fffffff] page 1G
[mem 0x7c000000-0x7fdfffff] page 1G
with 1G page.

so need to adjust page size at first before merge
[mem 0x00200000-0x3fffffff] page 2M
[mem 0x40000000-0x7bffffff] page 2M

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