Motivation
----------
Currently if we want to iterate through all the nodes we have to
traverse all the zones from the zonelist.
So in order to reduce the number of loops required to traverse node,
this series of patches modified the zonelist to nodelist.
Two new macros have been introduced:
1) for_each_node_nlist
2) for_each_node_nlist_nodemask
Benefit
-------
1. For a NUMA system with N nodes, each node has M zones, the number
of loops is reduced from N*M times to N times when traversing node.
2. The size of pg_data_t is much reduced.
Test Result
-----------
Currently I have only performed a simple page allocation benchmark
test on my laptop, and the results show that the performance of a
system with only one node is almost unaffected.