Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758140Ab0DGRYf (ORCPT ); Wed, 7 Apr 2010 13:24:35 -0400 Received: from terminus.zytor.com ([198.137.202.10]:38691 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751125Ab0DGRYe (ORCPT ); Wed, 7 Apr 2010 13:24:34 -0400 Message-ID: <4BBCBD8B.6070701@zytor.com> Date: Wed, 07 Apr 2010 10:14:51 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Thunderbird/3.0.4 MIME-Version: 1.0 To: Himanshu Aggarwal CC: Chetan Nanda , Xianghua Xiao , Venkatram Tummala , Youngwhan Song , Joel Fernandes , Frank Hu , hayfeng Lee , "linux-kernel@vger.kernel.org" , "linux-kernel@zh-kernel.org" , "kernelnewbies@nl.linux.org" Subject: Re: why choose 896MB to the start point of ZONE_HIGHMEM References: <3715922601579231267@unknownmsgid> <4BBBC470.4050002@zytor.com> <4BBBE976.1000603@zytor.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1452 Lines: 42 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 : > http://lxr.linux.no/linux+v2.6.33/arch/mips/include/asm/mach-generic/spaces.h 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 vmalloc/iomap/kmap area. LOWMEM has to fit inside kseg0, so LOWMEM is limited to 512 MB in thie current Linux implementation. -hpa -- 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/