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