RE: Zone sizes with low memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a good question because I'm not sure how different this would be defined in an x86_64 environment.  If someone does answer this can they include the explaination for the x86_64 as well as the x86 please.
 
Cheers,

> Date: Mon, 28 Apr 2008 08:51:24 +0200
> From: andi@xxxxxxxxxxxxxxxxxxxx
> To: kernelnewbies@xxxxxxxxxxxx
> Subject: Zone sizes with low memory
>
> Hello,
>
> some questions to the zones.
>
> 1) Suppose I have a machine with 512 MB RAM. How is the memory node
> structured into zones? Is it in this way?
>
> ZONE_DMA: 1-16 MB
> ZONE_NORMAL: 17-512 MB
>
> That means, there is no high memory available for those machines with
> less than 896 MB RAM ?
>
>
> 2) Am I right that access to the kernel in memory is as follows:
>
> Virtual Memory
>
> ---------
> + + [kernel linear addresses]
> + +
> +-------+ <- 0xC0000000 [PAGE_OFFSET]
> + +
> + +
> + +
> + + [user-space lin. addresses]
> + +
> + +
> + +
> --------- <- 0x00000000
>
>
> Physical Memory
>
> ---------
> + +
> + + user
> + +
> +-------+
> + + kernel
> --------- <- 0x00000000
>
>
> So, user-space linear addresses are always below 0xC0000000 and if a
> user-process addresses something beyond this it is somehow prohibited.
>
> But in the "real" physical memory, the order is turned around: the
> kernel resides in the lower regions of the memory and the user-space in
> the upper regions. Is this correct?
>
> 3) Is ZONE_NORMAL used only for the kernel or also for user processes?
>
> 4) How much space is reserved for the kernel in the physical memory?
>
>
> 5) I've read something about min_low_pfn, max_low_pfn and max_pfn. So
> min_low_pfn is the first page frame number after the kernel (after _end).
> max_low_pfn gives me the last page frame number which is accessible by
> the kernel directly or in other words: the last page frame number which
> is used by the kernel for its data structures and so on, max_low_pfn+1
> is the first page frame number of a user process. max_pfn is the last
> page frame number available in the physical address space.
>
> I've read this: "In low memory machines, the max_pfn will be the same as
> the max_low_pfn". In which page frames are the user-level processes then
> stored?
>
> I must have misunderstood something...
>
> Thanks
> Andreas
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> Please read the FAQ at http://kernelnewbies.org/FAQ
>


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux