From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx121.postini.com [74.125.245.121]) by kanga.kvack.org (Postfix) with SMTP id 8A62A6B0044 for ; Tue, 14 Aug 2012 07:58:18 -0400 (EDT) Message-ID: <502A3CD2.9000007@huawei.com> Date: Tue, 14 Aug 2012 19:56:02 +0800 From: Hanjun Guo MIME-Version: 1.0 Subject: Re: [RFC PATCH] mm: introduce N_LRU_MEMORY to distinguish between normal and movable memory References: <1344482788-4984-1-git-send-email-guohanjun@huawei.com> <50233EF5.3050605@huawei.com> <5024CADC.1010202@huawei.com> In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: "Christoph Lameter (Open Source)" Cc: Wu Jianguo , Jiang Liu , Tony Luck , Pekka Enberg , Matt Mackall , Mel Gorman , Yinghai Lu , KAMEZAWA Hiroyuki , KOSAKI Motohiro , David Rientjes , Minchan Kim , Keping Chen , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jiang Liu On 2012/8/10 22:12, Christoph Lameter (Open Source) wrote: > On Fri, 10 Aug 2012, Hanjun Guo wrote: > >> On 2012/8/9 22:06, Christoph Lameter (Open Source) wrote: >>> On Thu, 9 Aug 2012, Hanjun Guo wrote: >>> >>>> Now, We have node masks for both N_NORMAL_MEMORY and >>>> N_HIGH_MEMORY to distinguish between normal and highmem on platforms such as x86. >>>> But we still don't have such a mechanism to distinguish between "normal" and "movable" >>>> memory. >>> >>> What is the exact difference that you want to establish? >> >> Hi Christoph, >> Thanks for your comments very much! >> >> We want to identify the node only has ZONE_MOVABLE memory. >> for example: >> node 0: ZONE_DMA, ZONE_DMA32, ZONE_NORMAL--> N_LRU_MEMORY, N_NORMAL_MEMORY >> node 1: ZONE_MOVABLE --> N_LRU_MEMORY >> thus, in SLUB allocator, will not allocate memory control structures for node1. > > So this would change the N_NORMAL_MEMORY definition so that N_NORMAL > means !LRU allocs possible? So far N_NORMAL_MEMORY has a wider scope of > meaning. We need an accurate definition of the meaning of all these > attributes. Hi Christoph, Sorry for the late reply. yes, N_LRU_MEMORY means LRU allocs possible, N_NORMAL_MEMORY means !LRU allocs possible. node with ZONE_DMA/ZONE_DMA32/ZONE_NORMAL is marked with N_LRU_MEMORY and N_NORMAL_MEMORY, node with ZONE_MOVABLE is *only* marked with N_LRU_MEMORY. > >>> For the slab case that you want to solve here you will need to know if the >>> node has *only* movable memory and will never have any ZONE_NORMAL memory. >>> If so then memory control structures for allocators that do not allow >>> movable memory will not need to be allocated for these node. The node can >>> be excluded from handling. >> >> I think this is what we are trying to do in this patch. >> did I miss something? > > THe meaning of ZONE_NORMAL seems to change which causes confusion. Please > describe in detail what each of these attributes mean. > > . > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org