Re: Zone's in Linux
- From: Alexander Krizhanovsky <a.krizhanovsky@xxxxxxxxx>
- Date: Wed, 22 Aug 2007 05:30:54 -0700
On 22 , 11:44, Josef Moellers <josef.moell...@xxxxxxxxxxxxxxxxxxx>
wrote:
This is simply not true.
All 32 bit x86 processors are able to access at least 4 GB of physical
memory. There may be hardware (i.e. board) restrictions like video
buffers or PCI buffers which are placed at the upper end of the 4GB
area, but for all practical purposes, 4GB is the limit, not 868MB.
As far as I understood this comment x86 can't directly address memory
higher than 896Mb (I don't understand why here is wrote 900Mb):
#ifdef CONFIG_HIGHMEM
/*
* A memory area that is only addressable by the kernel
through
* mapping portions into its own address space. This is for
example
* used by i386 to allow the kernel to address the memory
beyond
* 900MB. The kernel will set up special mappings (page
* table entries on i386) for each page that the kernel needs
to
* access.
*/
ZONE_HIGHMEM,
#endif
Also I see that MAXMEM_PFN, which is used for definition of available
HIGHMEM in arch/i386/kernel/setup.c, by default is 896Mb.
It all take us for example following memory scheme:
1150MB HIGHMEM available.
896MB LOWMEM available.
On node 0 totalpages: 524000
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 225280 pages, LIFO batch:16
HighMem zone: 294624 pages, LIFO batch:16
So could you explain why we have only 896Mb of Normal Zone (that is
can't directly address whole 2Gb of physical memory)? Why these 2Gb
aren't fully arranged to NormalZone?
.
- Follow-Ups:
- Re: Zone's in Linux
- From: Gil Hamilton
- Re: Zone's in Linux
- References:
- Zone's in Linux
- From: deepak
- Re: Zone's in Linux
- From: Alexander Krizhanovsky
- Re: Zone's in Linux
- From: deepak
- Re: Zone's in Linux
- From: Josef Moellers
- Zone's in Linux
- Prev by Date: Re: Zone's in Linux
- Next by Date: Re: Zone's in Linux
- Previous by thread: Re: Zone's in Linux
- Next by thread: Re: Zone's in Linux
- Index(es):
Relevant Pages
|