From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chuck Ebbert Subject: Re: [PATCH 10/28] i386: map enough initial memory to create lowmem mappings Date: Thu, 19 Apr 2007 16:47:56 -0400 Message-ID: <4627D57C.4070809@redhat.com> References: <20070414204154.871250608@goop.org> <20070414204924.125386443@goop.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20070414204924.125386443@goop.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Jeremy Fitzhardinge Cc: lkml , Chris Wright , virtualization@lists.osdl.org, "Eric W. Biederman" , "H. Peter Anvin" , Andrew Morton , Linus Torvalds List-Id: virtualization@lists.linuxfoundation.org Jeremy Fitzhardinge wrote: > head.S creates the very initial pagetable for the kernel. This just > maps enough space for the kernel itself, and an allocation bitmap. > The amount of mapped memory is rounded up to 4Mbytes, and so this > typically ends up mapping 8Mbytes of memory. > > When booting, pagetable_init() needs to create mappings for all > lowmem, and the pagetables for these mappings are allocated from the > free pages around the kernel in low memory. If the number of > pagetable pages + kernel size exceeds head.S's initial mapping, it > will end up faulting on an unmapped page. This will only happen with > specific combinations of kernel size and memory size. > > This patch makes sure that head.S also maps enough space to fit the > kernel pagetables as well as the kernel itself. It ends up using an > additional two pages of unreclaimable memory. > > Signed-off-by: Jeremy Fitzhardinge > Acked-by: "H. Peter Anvin" > Cc: Andi Kleen > Cc: Zachary Amsden > Cc: Chris Wright > Cc: "Eric W. Biederman" > Cc: Linus Torvalds , Is some version of this going in for 2.6.21, or is it not a real problem?