lkml.org 
[lkml]   [2013]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 10/11] x86, mem-hotplug: Support initialize page tables from low to high.
Hi Wanpeng,

Thank you for reviewing. See below, please.

On 09/05/2013 09:30 PM, Wanpeng Li wrote:
......
>> +#ifdef CONFIG_MOVABLE_NODE
>> + unsigned long kernel_end;
>> +
>> + if (movablenode_enable_srat&&
>> + memblock.current_order == MEMBLOCK_ORDER_LOW_TO_HIGH) {
>
> I think memblock.current_order == MEMBLOCK_ORDER_LOW_TO_HIGH is always
> true if config MOVABLE_NODE and movablenode_enable_srat == true if PATCH
> 11/11 is applied.

memblock.current_order == MEMBLOCK_ORDER_LOW_TO_HIGH is true here if
MOVABLE_NODE
is configured, and it will be reset after SRAT is parsed. But
movablenode_enable_srat
could only be true when users specify movablenode boot option in the
kernel commandline.

Please refer to patch 9/11.

>
>> + kernel_end = round_up(__pa_symbol(_end), PMD_SIZE);
>> +
>> + memory_map_from_low(kernel_end, end);
>> + memory_map_from_low(ISA_END_ADDRESS, kernel_end);
>
> Why split ISA_END_ADDRESS ~ end?

The first 5 pages for the page tables are from brk, please refer to
alloc_low_pages().
They are able to map about 2MB memory. And this 2MB memory will be used
to store
page tables for the next mapped pages.

Here, we split [ISA_END_ADDRESS, end) into [ISA_END_ADDRESS, _end) and
[_end, end),
and map [_end, end) first. This is because memory in [ISA_END_ADDRESS,
_end) may be
used, then we have not enough memory for the next coming page tables. We
should map
[_end, end) first because this memory is highly likely unused.

>
......
>
> I think the variables sorted by address is:
> ISA_END_ADDRESS -> _end -> real_end -> end

Yes.

>
>> + memory_map_from_high(ISA_END_ADDRESS, real_end);
>
> If this is overlap with work done between #ifdef CONFIG_MOVABLE_NODE and
> #endif?
>

I don't think so. Seeing from my code, if work between #ifdef
CONFIG_MOVABLE_NODE and
#endif is done, it will goto out, right ?

Thanks.



\
 
 \ /
  Last update: 2013-09-06 03:41    [W:0.037 / U:1.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site