Messages in this thread | | | Date | Fri, 10 Aug 2012 09:12:25 -0500 (CDT) | From | "Christoph Lameter (Open Source)" <> | Subject | Re: [RFC PATCH] mm: introduce N_LRU_MEMORY to distinguish between normal and movable memory |
| |
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.
| |