Basic HighMeM Question

Prabhu nath gprabhunath at
Tue Jun 28 06:49:07 EDT 2011

Dear Mulyadi,

You are always an important character to jump in to any discussion and it
will be our great pleasure.

Please see inline for my views.

On Tue, Jun 28, 2011 at 3:46 PM, Mulyadi Santosa
<mulyadi.santosa at>wrote:

> Is it okay to jump in, guys?
> On Tue, Jun 28, 2011 at 12:51, piyush moghe <pmkernel at> wrote:
> > Thanks Prabhu.
> > So does this means that this ZONE_NORMAL limit of 896MB is because of 3:1
> > memory division?
> partly yes, plus 896 MB itself is due to some reservation in kernel
> address space such as vmalloc, fixmap etc.

    In a 3G/1G partition. 1G of Kernel virtual address space is divided into
896MB and 128 MB regions. I name them as
  Fixed Constant Offset mapped region (FCOM) - 0xC0000000 to 0xF8000000
  Dynamically Arbitrarily Mappable region (DAMR) - 0xF8000000 to 0xFFFFFFFF

   FCOM region virtual address as the name depicts is already mapped to the
physical address range from 0x00000000 to 0x38000000. i.e. for any virtual
address in the FCOM region there is a readily available Physical address.

   Base kernel code/data/stack and all kmalloc allocations are associated to
FCOM region virtual address which require contiguity in virtual address as
well as physical memory.

   Those Device drivers code/data which are built as modules, vmalloc
allocations which need not be contiguous in memory and but only contiguous
in virtual address space will be in associated to DAMR region.

   For exp. Check out the address of your kernel module functions which are
built as modules and insmoded to the kernel. it will be in DAMR region.

    The kernel symbol *high_memory* will give the start kernel virtual
address of DAMR region.

If you have 512 MB of RAM and it is decoded from 0x00000000 to 0x0x20000000.
Now you have ZONE_NORMAL size of ~512 MB.
Check out the value of high_memory. You will have lot of thoughts on this
and refer ULK chapter 8.

> > If it is do then does this mean that if this ratio is changed then
> > ZONE_NORMAL limit will also be changed?
> see above...
> --
> regards,
> Mulyadi Santosa
> Freelance Linux trainer and consultant
> blog:
> training:
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list