title: RAM split between lowmem and highmem
body: <p>I have compared /proc/meminfo for a galaxys2 (arm exynos4) device running Android gingerbread and ice cream sandwich (cyanogen CM9). I noticed that the kernel splits the memory differently between low memory and high memory:</p>
  
  <p>For ICS/CM9 (3.0 kernel):</p>
  
  <pre><code>cat /proc/meminfo:
  
  MemTotal:         843624 kB
  MemFree:           68720 kB
  Buffers:            1532 kB
  Cached:           115720 kB
  SwapCached:            0 kB
  Active:           487780 kB
  Inactive:          64524 kB
  Active(anon):     436316 kB
  Inactive(anon):     1764 kB
  Active(file):      51464 kB
  Inactive(file):    62760 kB
  Unevictable:         748 kB
  Mlocked:               0 kB
  **HighTotal:        278528 kB**
  HighFree:          23780 kB
  **LowTotal:         565096 kB**
  LowFree:           44940 kB
  SwapTotal:             0 kB
  SwapFree:              0 kB
  Dirty:                 4 kB
  Writeback:             0 kB
  AnonPages:        435848 kB
  Mapped:            45364 kB
  Shmem:              2276 kB
  Slab:              37996 kB
  SReclaimable:      10028 kB
  SUnreclaim:        27968 kB
  KernelStack:       10064 kB
  PageTables:        16688 kB
  NFS_Unstable:          0 kB
  Bounce:                0 kB
  WritebackTmp:          0 kB
  CommitLimit:      421812 kB
  Committed_AS:    8549052 kB
  VmallocTotal:     188416 kB
  VmallocUsed:      104480 kB
  VmallocChunk:      26500 kB
  </code></pre>
  
  <p>For GB (2.6 kernel):</p>
  
  <pre><code>cat /proc/meminfo:
  
  MemTotal:         856360 kB
  MemFree:           22264 kB
  Buffers:           57000 kB
  Cached:           337320 kB
  SwapCached:            0 kB
  Active:           339064 kB
  Inactive:         379148 kB
  Active(anon):     212928 kB
  Inactive(anon):   112964 kB
  Active(file):     126136 kB
  Inactive(file):   266184 kB
  Unevictable:         396 kB
  Mlocked:               0 kB
  **HighTotal:        462848 kB**
  HighFree:           1392 kB
  **LowTotal:         393512 kB**
  LowFree:           20872 kB
  SwapTotal:             0 kB
  SwapFree:              0 kB
  Dirty:                 4 kB
  Writeback:             0 kB
  AnonPages:        324312 kB
  Mapped:            97092 kB
  Shmem:              1580 kB
  Slab:              29160 kB
  SReclaimable:      13924 kB
  SUnreclaim:        15236 kB
  KernelStack:        8352 kB
  PageTables:        23828 kB
  NFS_Unstable:          0 kB
  Bounce:                0 kB
  WritebackTmp:          0 kB
  CommitLimit:      428180 kB
  Committed_AS:    4001404 kB
  VmallocTotal:     196608 kB
  VmallocUsed:      104804 kB
  VmallocChunk:      57092 kB
  </code></pre>
  
  <p>I have noticed that on the 3.0 kernel memory pressure is evident and the out of memory killer is invoked frequently. </p>
  
  <p>I have two questions regarding this:</p>
  
  <ol>
  <li>Is is possible that in the 3.0 layout (less highmem more lowmem) applications have less available memory? Could that explain the high memory pressure?</li>
  <li>Is it possible to change the layout in the 3.0 kernel in order to make it more similar to the 2.6 layout (i.e. more highmem less lowmem)?</li>
  </ol>