Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933870AbXKOWNp (ORCPT ); Thu, 15 Nov 2007 17:13:45 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1765775AbXKOWNO (ORCPT ); Thu, 15 Nov 2007 17:13:14 -0500 Received: from smtp2.linux-foundation.org ([207.189.120.14]:49111 "EHLO smtp2.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1764110AbXKOWNM (ORCPT ); Thu, 15 Nov 2007 17:13:12 -0500 Date: Thu, 15 Nov 2007 14:12:14 -0800 (PST) From: Linus Torvalds To: Jeremy Fitzhardinge cc: William Lee Irwin III , Andi Kleen , Ingo Molnar , Thomas Gleixner , Nick Piggin , "H. Peter Anvin" , Linux Kernel Mailing List Subject: Re: Why preallocate pmd in x86 32-bit PAE? In-Reply-To: <473CC0AC.3020500@goop.org> Message-ID: References: <473CC0AC.3020500@goop.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 949 Lines: 23 On Thu, 15 Nov 2007, Jeremy Fitzhardinge wrote: > > Once difference is that 64-bit incrementally allocates all levels of the > pagetable, whereas 32-bit PAE preallocates the 4 pmds when it allocates > the pgd. What's the rationale for this? What pitfalls would there be > in making them incrementally allocated? IIRC, the present bit is ignored in the magic 4-entry PGD. All entries have to be present. What earlier CPU's did was to basically load all four values into the CPU when you loaded %cr3. There was no "three-level page table walker" at all: it was still a two-level page table walker, there were just for magic internal page tables that were indexed off the two high bits. Linus - 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/