Changes:
- fixed NFS to work out of high memory - tested with moderate load. All
NFS caches (directory, symlink, data, etc.) are in high memory.
- modules fix ...
- page->virtual is filled out for non-highmem pages too, this is a
nice speedup in certain cases.
- fixed a bug in highmem support which might cause user-datapage
corruption in certain cases.
Changes in zoned-2.3.28-G5:
- this one should actually compile if modules support is turned on ...
Changes in zoned-2.3.28-G4:
- implemented 'zone chains' zonelist_t and gfp_mask indexed zonelists[]
speedups (Linus' idea) to handle fallback zones. This should enable
advanced NUMA-style allocations as well. [fallback to different CPUs is
possible via changing build_zonelists().]
- <=16MB RAM boxes should boot just fine now.
- added page->zone for easier deallocation and generic cleanliness. This
also helps NUMA.
- cleaned up the page-allocator namespace, there are only two 'core'
page-allocation functions left: __alloc_pages() and __free_pages_ok().
- modules should compile again.
- we are now inlining the 'put_page_testzero()' part of __free_page_ok.
This is subtle as page->count for reserved pages is now 'rotating' -
this is fine though and lets us to put the rare PageReserved() branch
into __free_page_ok().
- cleaned up pgtable.h, split into lowlevel and highlevel parts, this
fixes dependencies in mm.h & misc.c.
- serial.c didnt clear freshly allocated bootmem - as a result now all
bootmem allocations are explicitly cleared, it's not performance
critical anyway.
- fixed code,data,initmem reporting.
- fixed boot task's swapper_pg_dir clearing
-- mingo