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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>