title: Why Linux Kernel ZONE_NORMAL is limited to 896 MB?
body: <p>A newbie question. I'm doing some kernel study and get confused on the
  896MB size limit of ZONE_NORMAL. I don't understand why kernel cannot
  map 4G physical memory into kernel space directly. Some documents
  mentioned its size constraint of page map. But considering 4G memory
  has 2^20 pages and each "struct page" is 4 bytes, the mem_map would
  only be 4MB. That should not be the issue. Hope you could shed me some
  light.</p>
  
  <p>Thanks</p>