lkml.org 
[lkml]   [2010]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: why choose 896MB to the start point of ZONE_HIGHMEM
On 04/06/2010 01:01 PM, Joel Fernandes wrote:
> Hi Peter,
>
> On Wed, Apr 7, 2010 at 1:14 AM, H. Peter Anvin <hpa@zytor.com> wrote:
>> On 04/06/2010 12:20 PM, Frank Hu wrote:
>>>>
>>>> The ELF ABI specifies that user space has 3 GB available to it. That
>>>> leaves 1 GB for the kernel. The kernel, by default, uses 128 MB for I/O
>>>> mapping, vmalloc, and kmap support, which leaves 896 MB for LOWMEM.
>>>>
>>>> All of these boundaries are configurable; with PAE enabled the user
>>>> space boundary has to be on a 1 GB boundary.
>>>>
>>>
>>> the VM split is also configurable when building the kernel (for 32-bit
>>> processors).
>>
>> I did say "all these boundaries are configurable". Rather explicitly.
>>
>
> I thought the 896 MB was a hardware limitation on 32 bit architectures
> and something that cannot be configured? Or am I missing something
> here? Also the vm-splits refer to "virtual memory" . While ZONE_* and
> the 896MB we were discussing refers to "physical memory". How then is
> discussing about vm splits pertinent here?
>

It's not a hardware limitation. Rather, it has to do with how the 4 GB
of virtual address space is carved up. LOWMEM specifically refers to
the amount of memory which is permanently mapped into the virtual
address space, whereas HIGHMEM is mapped in and out on demand -- a
fairly expensive operation.

-hpa


\
 
 \ /
  Last update: 2010-04-06 22:17    [W:0.111 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site