Re: Zone's in Linux



On Aug 21, 6:08 pm, Alexander Krizhanovsky <a.krizhanov...@xxxxxxxxx>
wrote:
On Aug 21, 12:39 pm, deepak <deepakpj...@xxxxxxxxx> wrote:

Hi,

I read a document where main memory in Linux will be logically divided
into zones
called as NORMAL, DMA, HIGH memory zones.

Why in linux we are dividing memory into zones?

ZONE_DMA places in first 16MB of memory because some devices need
exactly that addresses for mapping.
x86 can't directly map pages with address over 1GB, so we need
ZONE_HIGHMEM for indirect mapping.

I learned about this from Linux kernel programming by R.Love.
In that author specified that x86 won't be able to access above 868MB.
Why x86 is not able to access this and how they are resolving this
through
DMA_HIGH zone concept?

.



Relevant Pages

  • Re: Zones in Linux
    ... called as NORMAL, DMA, HIGH memory zones. ... Why in linux we are dividing memory into zones? ... Because the memory belonging to those zones has different attributes ...
    (comp.os.linux.development.system)
  • [PATCH 3/7] Have x86 use add_active_range() and free_area_init_nodes
    ... Size zones and holes in an architecture independent manner for x86. ... -/* For each node run the memory list to determine whether there are ...
    (Linux-Kernel)
  • Re: Zones in Linux
    ... called as NORMAL, DMA, HIGH memory zones. ... In that author specified that x86 won't be able to access above 868MB. ... All 32 bit x86 processors are able to access at least 4 GB of physical memory. ... With PAE, x86 processors are able to address 64GB of physical memory, although in all cases, 4GB is the virtual address range. ...
    (comp.os.linux.development.system)