Friday, January 28, 2011

Available memory under 32-bit Chrome and 64-bit kernel Chromium

I noticed something interesting this evening -

The stock Mario ChromeOS shows:

Linux (chrome-bot@chromeosbuild13) (gcc version 4.4.3 (gcc-4.4.3_cos_gg_v1_41723) ) #1 SMP Thu Dec 9 19:29:53 PST 2010 (Ubuntu 2.6.32-0.1-chromeos-intel-menlow)

[    0.000000] Warning only 1919MB will be used.
[    0.000000] Use a HIGHMEM enabled kernel.

However, the 64-bit kernel build of ChromiumOS 0.10.157 (available here) offers ~2038MB free memory under the newer 2.6.37.


  1. Interesting. I wonder what it would look like using kernel-next and HIGHMEM defined on i686 (32-bit).

    While running a 32-bit userland on a 64-bit kernel works, the kernel does use a tad more memory, and there is a small performance hit on some of the program/kernel interaction (emulation code). If, as with the Cr-48, the machine really doesn't support >2G, HIGHMEM should be sufficient to reclaim the missing memory without adding the emulation overhead.

    I may try this out next week.

  2. I think it's definitely the way to go. The kernel isn't just x86_64 - it's a newer version as well (improvements). My guess is that this is where the OS as a whole is headed, and very soon. I'm thinking the holdup is probably because of proprietary components, but I reserve the right to be completely wrong. ;)

  3. As far as the memory utilization of the kernel vs. memory freed because of it, I'd say the extra little bit the kernel uses is far less than the hundred or so MBs you're given.

    I wouldn't worry so much about the 64-to-32 thunking.