From mboxrd@z Thu Jan 1 00:00:00 1970 From: "David S. Miller" Date: Wed, 01 Sep 2004 05:22:24 +0000 Subject: Re: page fault scalability patch final : i386 tested, x86_64 Message-Id: <20040831222224.736208b4.davem@davemloft.net> List-Id: References: <20040815130919.44769735.davem@redhat.com> <20040815165827.0c0c8844.davem@redhat.com> <20040815185644.24ecb247.davem@redhat.com> <20040816143903.GY11200@holomorphy.com> <1094012689.6538.330.camel@gaston> In-Reply-To: <1094012689.6538.330.camel@gaston> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Benjamin Herrenschmidt Cc: clameter@sgi.com, akpm@osdl.org, wli@holomorphy.com, davem@redhat.com, raybry@sgi.com, ak@muc.de, manfred@colorfullife.com, linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org, vrajesh@umich.edu, hugh@veritas.com On Wed, 01 Sep 2004 14:24:50 +1000 Benjamin Herrenschmidt wrote: > The removal of the page table lock has other more subtle side effects > on ppc64 (and ppc32 too) that aren't trivial to solve. Typically, due > to the way we use the hash table as a TLB cache. True on sparc64 as well where the page table lock is what synchronizes TLB context allocation for a process. While the lock is held, we know that the TLB context cannot change and this allows all kinds of TLB flush optimizations. We also have the pseudo-invariant that flush_tlb_page() is always called with the page table lock held. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S268591AbUIAFWw (ORCPT ); Wed, 1 Sep 2004 01:22:52 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S268580AbUIAFWw (ORCPT ); Wed, 1 Sep 2004 01:22:52 -0400 Received: from smtp105.mail.sc5.yahoo.com ([66.163.169.225]:42151 "HELO smtp105.mail.sc5.yahoo.com") by vger.kernel.org with SMTP id S268538AbUIAFWu (ORCPT ); Wed, 1 Sep 2004 01:22:50 -0400 Date: Tue, 31 Aug 2004 22:22:24 -0700 From: "David S. Miller" To: Benjamin Herrenschmidt Cc: clameter@sgi.com, akpm@osdl.org, wli@holomorphy.com, davem@redhat.com, raybry@sgi.com, ak@muc.de, manfred@colorfullife.com, linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org, vrajesh@umich.edu, hugh@veritas.com Subject: Re: page fault scalability patch final : i386 tested, x86_64 support added Message-Id: <20040831222224.736208b4.davem@davemloft.net> In-Reply-To: <1094012689.6538.330.camel@gaston> References: <20040815130919.44769735.davem@redhat.com> <20040815165827.0c0c8844.davem@redhat.com> <20040815185644.24ecb247.davem@redhat.com> <20040816143903.GY11200@holomorphy.com> <1094012689.6538.330.camel@gaston> Organization: DaveM Loft Enterprises X-Mailer: Sylpheed version 0.9.12 (GTK+ 1.2.10; sparc-unknown-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 01 Sep 2004 14:24:50 +1000 Benjamin Herrenschmidt wrote: > The removal of the page table lock has other more subtle side effects > on ppc64 (and ppc32 too) that aren't trivial to solve. Typically, due > to the way we use the hash table as a TLB cache. True on sparc64 as well where the page table lock is what synchronizes TLB context allocation for a process. While the lock is held, we know that the TLB context cannot change and this allows all kinds of TLB flush optimizations. We also have the pseudo-invariant that flush_tlb_page() is always called with the page table lock held.