[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 12 Dec 2012 17:09:49 +0800
From: Tang Chen <tangchen@...fujitsu.com>
To: Jiang Liu <jiang.liu@...wei.com>,
Simon Jeons <simon.jeons@...il.com>
CC: Jianguo Wu <wujianguo@...wei.com>, hpa@...or.com,
akpm@...ux-foundation.org, wency@...fujitsu.com,
laijs@...fujitsu.com, linfeng@...fujitsu.com, yinghai@...nel.org,
isimatu.yasuaki@...fujitsu.com, rob@...dley.net,
kosaki.motohiro@...fujitsu.com, minchan.kim@...il.com,
mgorman@...e.de, rientjes@...gle.com, rusty@...tcorp.com.au,
lliubbo@...il.com, jaegeuk.hanse@...il.com, tony.luck@...el.com,
glommer@...allels.com, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, linux-doc@...r.kernel.org
Subject: Re: [PATCH v3 3/5] page_alloc: Introduce zone_movable_limit[] to
keep movable limit for nodes
On 12/12/2012 08:49 AM, Jiang Liu wrote:
>>>>> This patch introduces a new array zone_movable_limit[] to store the
>>>>> ZONE_MOVABLE limit from movablecore_map boot option for all nodes.
>>>>> The function sanitize_zone_movable_limit() will find out to which
>>>>> node the ranges in movable_map.map[] belongs, and calculates the
>>>>> low boundary of ZONE_MOVABLE for each node.
>>
>> What's the difference between zone_movable_limit[nid] and
>> zone_movable_pfn[nid]?
> zone_movable_limit[] is a temporary storage for zone_moveable_pfn[].
> It's used to handle a special case if user specifies both movablecore_map
> and movablecore/kernelcore on the kernel command line.
>
Hi Simon, Liu,
Sorry for the late and thanks for your discussion. :)
As Liu said, zone_movable_limit[] is a temporary array for calculation.
If users specified movablecore_map option, zone_movable_limit[] holds
the lowest pfn of ZONE_MOVABLE limited by movablecore_map option. It is
constant, won't change.
Please refer to find_zone_movable_pfns_for_nodes() in patch4, you will
see that zone_moveable_pfn[] will be changed each time kernel area
increases.
So when kernel area increases on node i, zone_moveable_pfn[i] will
increase. And if zone_moveable_pfn[i] > zone_movable_limit[i], we should
stop allocate memory for kernel on node i. Here, I give movablecore_map
higher priority than kernelcore/movablecore.
And also, I tried to use zone_moveable_pfn[] to store limits. But when
calculating the kernel area, I still have to store the limits in
temporary variables. I think the code was ugly. So I added an new array.
Thanks. :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists