From mboxrd@z Thu Jan 1 00:00:00 1970 From: "H. Peter Anvin" Subject: Re: [PATCH 10/28] i386: map enough initial memory to create lowmem mappings Date: Mon, 23 Apr 2007 09:42:08 -0700 Message-ID: <462CE1E0.9060007@zytor.com> References: <20070414204154.871250608@goop.org> <200704192250.52633.ak@suse.de> <4627D756.5020405@zytor.com> <200704192304.01053.ak@suse.de> <4627DB0C.2010804@zytor.com> <4627DDAD.4070805@redhat.com> <4627E099.209@goop.org> <462CE027.4030302@goop.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <462CE027.4030302@goop.org> Sender: linux-kernel-owner@vger.kernel.org To: Jeremy Fitzhardinge Cc: "Eric W. Biederman" , Chuck Ebbert , Andi Kleen , Andrew Morton , virtualization@lists.osdl.org, lkml , Zachary Amsden , Chris Wright , Linus Torvalds List-Id: virtualization@lists.linuxfoundation.org Jeremy Fitzhardinge wrote: > Eric W. Biederman wrote: >> The only way to ensure this will not happen is to do what we do >> on x86_64 and map the new page table page into our address space >> before we write to it. Assuming the page we allocate is already >> mapped is simply not robust. >> > > So you mean make alloc_bootmem make sure there's a mapping for the > returned page? That would be simple enough, though it might interact > strangely with the actual construction of the memory mappings (what if > the page alloc_bootmem just allocated for the pagetable is the page > pagetable_init is actually trying to map?). > > I'm not sure about the issue with holes. I assume you mean that just > because head.S maps a chunk of memory, it isn't necessarily available > for allocation because its a hole. But does alloc_bootmem know to avoid > them anyway? Has it already parsed e820 at that point? > Since we allocate the maximum possible memory statically, I fail to see how holes could make the situation any worse, or better. -hpa