Re: why choose 896MB to the start point of ZONE_HIGHMEM
From: H. Peter Anvin
Date: Wed Apr 07 2010 - 13:24:38 EST
On 04/07/2010 09:48 AM, Himanshu Aggarwal wrote:
> I think for some architectures, the position of highmem is constrained
> by hardware as well. It is not always a kernel decision and not always
> configurable as in case of x86.
This is correct.
> In case of MIPS32, low memory is between 0 and 512 MB and high memory
> starts above 512 MB. Also the user space is of size 2 GB.
> Please see the definition of macros PAGE_OFFSET and HIGHMEM_START at :
Right so far...
> This is because MIPS32 processors have KSEG0 and KSEG1 segments lying
> between 0 and 512 MB and KSEG2/3 lies above it.
> May be someone on the group can confirm this.
Wrong. I have to say this thread has been just astonishing in the
amount of misinformation.
On MIPS32, userspace is 0-2 GB, kseg0 is 2.0-2.5 GB and kseg1 is 2.5-3.0
GB. kseg2/3 (3.0-4.0 GB), which invokes the TLB, is used for the
LOWMEM has to fit inside kseg0, so LOWMEM is limited to 512 MB in thie
current Linux implementation.
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
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/