2004-09-22 03:09:23

by Ronghua Zhang

[permalink] [raw]
Subject: Does ZONE_HIGHMEM exist on machines with 1G memeory

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


2004-09-22 04:13:10

by Robert Love

[permalink] [raw]
Subject: Re: Does ZONE_HIGHMEM exist on machines with 1G memeory

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


2004-09-22 04:23:42

by Aaron Gyes

[permalink] [raw]
Subject: Re: Does ZONE_HIGHMEM exist on machines with 1G memeory

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

2004-09-22 04:39:30

by Ronghua Zhang

[permalink] [raw]
Subject: Re: Does ZONE_HIGHMEM exist on machines with 1G memeory

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
>
>

2004-09-22 04:55:16

by Robert Love

[permalink] [raw]
Subject: Re: Does ZONE_HIGHMEM exist on machines with 1G memeory

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