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. > > 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

