Here's a small update to the numnodes fix that went into -mm3. The biggest
changes are:
1) move the actual NODES_SHIFT and MAX_NUMNODES definitions into
linux/numa.h and include this in linux/mmzone.h, instead of being
directly in linux/mmzone.h. This allows other files to include *just*
the NUMNODES stuff w/out grabbing all of mmzone.h.
2) pull NODE_SHIFT out of linux/mm.h. This isn't used anywhere in the
kernel, and it will only get confused with NODES_SHIFT.
3) Fix the IA64 patch. The original patch I had sent out hadn't been
tested on IA64. It was mostly right, but there were circular
dependencies. All better now, and acked by Jesse.
4) In linux/mmzone.h, insert code to define MAX_NODES_SHIFT based on the
size of unsigned long. For 64-bit arches, we can have a much larger
value. This allows IA64 to have 100's or 1000's of nodes.
MAX_NODES_SHIFT is defined as 10 (ie: 1024 nodes) for 64-bit for now,
although it could likely be much larger. For 32-bit it is 6 (ie: 64
nodes).
5) Small cleanup in include/asm-arm/memory.h. Mostly the result of the
new linux/numa.h file. Much cleaner and more readable now.