This may be a dumb question. But it seems to me that when the machine
has 1GB memory, it can be mapped to the 1GB kernel virtual address space.
Do we still need ZONE_HIGHMEM in this case? Please CC any follow-up to me.
Thanks
Ronghua
On Tue, 2004-09-21 at 23:09 -0400, Ronghua Zhang wrote:
> This may be a dumb question. But it seems to me that when the machine
> has 1GB memory, it can be mapped to the 1GB kernel virtual address space.
> Do we still need ZONE_HIGHMEM in this case? Please CC any follow-up to me.
> Thanks
Highmem is actually everything above 896MB ... so, yes, you need
ZONE_HIGHMEM.
Robert Love
This patch by Con Kolivas well let you get the entire 1GB without
enabling and getting the overhead of HIGHMEM.
http://ck.kolivas.org/patches/2.6/2.6.9/2.6.9-rc2/2.6.9-rc2-ck2/patches/1g_lowmem1_i386.diff
--Aaron Gyes
But why cannot we simply map the whole physical memory into the 1GB
kernel virtual address space? In this case, we don't need to reserve any
address space for the permanent or temporary mapping. Am I missing
something here? Thanks
RZ
On Wed, 22 Sep 2004, Robert Love wrote:
> On Tue, 2004-09-21 at 23:09 -0400, Ronghua Zhang wrote:
>
> > This may be a dumb question. But it seems to me that when the machine
> > has 1GB memory, it can be mapped to the 1GB kernel virtual address space.
> > Do we still need ZONE_HIGHMEM in this case? Please CC any follow-up to me.
> > Thanks
>
> Highmem is actually everything above 896MB ... so, yes, you need
> ZONE_HIGHMEM.
>
> Robert Love
>
>
On Wed, 2004-09-22 at 00:39 -0400, Ronghua Zhang wrote:
> But why cannot we simply map the whole physical memory into the 1GB
> kernel virtual address space? In this case, we don't need to reserve any
> address space for the permanent or temporary mapping. Am I missing
> something here? Thanks
It is because of how the mappings work and where PAGE_OFFSET is.
With some hacking you can definitely use all 1GB without HIGHMEM, but
you would not be able to use more than 1GB. And it would break ABI, at
least for modules.
Robert Love