On Thu, 2010-09-23 at 16:15 +0100, Arnd Bergmann wrote: > On Thursday 23 September 2010, Nicolas Pitre wrote: > > > This highmem topic comes from the fact that highmem will be needed in > > > the period of time between now and LPAE where we have boards with lots > > > of memory but we can't address it all without highmem (unless we want > > > to revisit the 3g/1g split, but I personally think not). > > > > Note that LPAE does require highmem to be useful. The only way highmem > > could be avoided is to move to a 64-bit architecture. > > Right, I'd even say LPAE can only make things worse because people > will stick even more memory into their systems, most of which then > becomes highmem.
If you really need so much memory, it's more efficient to have LPAE +highmem than a swap device. The problem is if the OS doesn't need so much memory but it is available, Linux tries to allocate from highmem first. What could help is a different zone fall back mechanism trying to allocate from lowmem up to a certain threshold. Another option would be to use the highmem for hosting a swap via some form of ramdisk or slram/phram. Yet another option is some dynamic memory hotplug based on the amount of spare memory you've got. > We might be able to use MMU features to implement a 4G/4G split, which > lets us use 3GB physical RAM or more (depending on vmalloc and I/O sizes) > without highmem, but can have an even higher cost by significantly > slowing down uaccess. It would be tricky to create temporary mappings for uaccess (and may involve get_user_pages or some form of pinning the pages in memory). -- Catalin _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev