Re: >3G Memory support

Brian Gerst (bgerst@didntduck.org)
Wed, 19 Jun 2002 23:29:43 -0400


devnull@adc.idt.com wrote:
> Hello All.
>
> I have a PC with 4G of Memory and would like a process to be able to
> address all 4G of memory.
>
> I am running 2.4.13-ac8
>
> The way i understand it is that linux shares the top 1G of process address
> space with all processes on the system(so on systems with 4G is physical
> addressability, it leaves 3G for each process).
>
>>From the archives, i learnt that i need to modify __PAGE_OFFSET and change
> it from the default (0xC0000000).
>
> Looking at /usr/src/linux/include/asm-i386/page.h
>
> <<SNIP>>
> /*
> * This handles the memory map.. We could make this a config
> * option, but too many people screw it up, and too few need
> * it.
> *
> * A __PAGE_OFFSET of 0xC0000000 means that the kernel has
> * a virtual address space of one gigabyte, which limits the
> * amount of physical memory you can use to about 950MB.
> *
> * If you want more physical memory than this then see the
> * CONFIG_HIGHMEM4G
> * and CONFIG_HIGHMEM64G options in the kernel configuration.
> */
>
> <<END_OF_SNIP>>
>
> When i compiled my kernel, i set CONFIG_HIGHMEM4G.
>
> Does this mean that all my programs should be able to address 4G ?

No. It means the kernel can access all 4GB of memory. For memory above
the 950MB that it can directly map, it needs to use dynamic mappings
(kmap). User space is always 3GB virtual space per process, regardless
of the highmem setting.

--
				Brian Gerst

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/