Both a node and a zone have a structure defined which contains a
pointer to a global memory map to all pages in the node or zone.

struct page *zone_mem_map; in 'struct zone_struct'


struct page *node_mem_map; in 'struct pglist_data' (pglist_data is
structure name for a node, strange name!)

Are these two mem_map variables actually used to traverse the entire
list of pages in a node (which is usually all of main memory) or a
zone. How else would these two variables be used?

Also, in 'struct zone_struct', why is there a pointer to the parent
node, how is this used? This is 'struct pglist_data *zone_pgdat'.

Hope people have some good knowledge of the actual kernel code in