Re: [PATCH V2] mm: introduce N_LRU_MEMORY to distinguish betweennormal and movable memory

From: Christoph Lameter
Date: Fri Aug 17 2012 - 10:09:22 EST


On Fri, 17 Aug 2012, Hanjun Guo wrote:

> N_NORMAL_MEMORY means non-LRU page allocs possible.

Hmmm... It may be better to say

N_NORMAL_MEMORY Allocations are allowed for pages that will not be
managed via a LRU and that cannot be moved by the page migration logic.

N_LRU_MEMORY Allocations are possible for pages that are managed via LRUs

N_HIGH_MEMORY Allocations are allowed for pages that are only temporarliy mapped into kernel address space.

Any node that has the ability to allocate memory at all has at least N_LRU_MEMORY set.

>
> /*
> * Bitmasks that are kept for all the nodes.
> + * N_NORMAL_MEMORY means non-LRU page allocs possible.
> + * N_LRU_MEMORY means LRU page 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,
> + * node with ZONE_HIGHMEM is marked with N_LRU_MEMORY and N_HIGH_MEMORY.
> + * N_LRU_MEMORY also means node has any regular memory.
> */
> enum node_states {
> N_POSSIBLE, /* The node could become online at some point */
> N_ONLINE, /* The node is online */
> - N_NORMAL_MEMORY, /* The node has regular memory */
> + N_NORMAL_MEMORY, /* The node has normal memory */
> + N_LRU_MEMORY, /* The node has regular memory */

These comments are utter garbage and just repeat what the constant
alreadty expresses. . Please actually say something meaningful that
another developer can use when he attempts to understand what these bits
mean.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/