lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 12 Dec 2012 03:29:30 -0600
From:	Simon Jeons <simon.jeons@...il.com>
To:	Tang Chen <tangchen@...fujitsu.com>
Cc:	Jiang Liu <jiang.liu@...wei.com>,
	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 Wed, 2012-12-12 at 17:09 +0800, Tang Chen wrote:
> 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. :)

Thanks for your clarify. 

Enable PAE on x86 32bit kernel, 8G memory, movablecore=6.5G
> 
> [    0.000000] 8304MB HIGHMEM available.
> [    0.000000] 885MB LOWMEM available.
> [    0.000000]   mapped low ram: 0 - 375fe000
> [    0.000000]   low ram: 0 - 375fe000
> [    0.000000] Zone ranges:
> [    0.000000]   DMA      [mem 0x00010000-0x00ffffff]
> [    0.000000]   Normal   [mem 0x01000000-0x375fdfff]
> [    0.000000]   HighMem  [mem 0x375fe000-0x3e5fffff]
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x00010000-0x0009cfff]
> [    0.000000]   node   0: [mem 0x00100000-0x1fffffff]
> [    0.000000]   node   0: [mem 0x20200000-0x3fffffff]
> [    0.000000]   node   0: [mem 0x40200000-0xb69cbfff]
> [    0.000000]   node   0: [mem 0xb6a46000-0xb6a47fff]
> [    0.000000]   node   0: [mem 0xb6b1c000-0xb6cfffff]
> [    0.000000]   node   0: [mem 0x00000000-0x3e5fffff]
> [    0.000000] On node 0 totalpages: 2051391
> [    0.000000] free_area_init_node: node 0, pgdat c0c26a80,
> node_mem_map
> f19de200
> [    0.000000]   DMA zone: 32 pages used for memmap
> [    0.000000]   DMA zone: 0 pages reserved
> [    0.000000]   DMA zone: 3949 pages, LIFO batch:0
> [    0.000000]   Normal zone: 1740 pages used for memmap
> [    0.000000]   Normal zone: 220466 pages, LIFO batch:31
> [    0.000000]   HighMem zone: 16609 pages used for memmap
> [    0.000000]   HighMem zone: 1808595 pages, LIFO batch:31

Why zone movable disappear?



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

Powered by Openwall GNU/*/Linux Powered by OpenVZ