Re: why choose 896MB to the start point of ZONE_HIGHMEM

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

 



Hey Xiao,

last 128MB is not used for highmem. last 128MB is used for data structures(page tables etc.) to support highmem .  Highmem is not something which is "INSIDE" Kernel's Virtual Address space. Highmem refers to a region of "Physical memory" which can be mapped into kernel's virtual address space through page tables.

Regards,
Venkatram Tummala

On Tue, Apr 6, 2010 at 6:47 PM, Xianghua Xiao <xiaoxianghua@xxxxxxxxx> wrote:
If the last 128MB out of the kernel 1GB space is used to for highmen,
meanwhile it's also used for IO/vmalloc, how does this work?

Xianghua

On Tue, Apr 6, 2010 at 6:32 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 04/06/2010 04:27 PM, Youngwhan Song wrote:
>> Nice explanation, Venkatram,
>>
>> Just one question pop up mind.
>>
>> What if actual physical memory is only 256MB? How does kernel divide
>> virtual memory? Do we need to specify the region to kernel? Or will
>> kernel itself decide it automatically?
>>
>
> If there is less than 896 MB of physical memory, the vmalloc region is
> automatically extended (in your case, it will be 768 MB in size.)  There
> will be no HIGHMEM in such a case, and if you are compiling your own
> kernel you will gain considerable speed by disabling HIGHMEM support
> completely.
>
> This, of course, was the norm back when Linux was first created, and a
> typical amount of memory was 8 MB or so.  That we'd have gigabytes of
> memory seemed very distant at the time.
>
>        -hpa
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>


[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