Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753584Ab2HNL6Z (ORCPT ); Tue, 14 Aug 2012 07:58:25 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:63899 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751604Ab2HNL6Y (ORCPT ); Tue, 14 Aug 2012 07:58:24 -0400 Message-ID: <502A3CD2.9000007@huawei.com> Date: Tue, 14 Aug 2012 19:56:02 +0800 From: Hanjun Guo User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 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 , , , Jiang Liu 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 X-Originating-IP: [10.135.69.25] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2214 Lines: 57 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/