Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932571AbVKWWN5 (ORCPT ); Wed, 23 Nov 2005 17:13:57 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932576AbVKWWN5 (ORCPT ); Wed, 23 Nov 2005 17:13:57 -0500 Received: from smtp.osdl.org ([65.172.181.4]:26013 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S932571AbVKWWN4 (ORCPT ); Wed, 23 Nov 2005 17:13:56 -0500 Date: Wed, 23 Nov 2005 14:13:16 -0800 (PST) From: Linus Torvalds To: Alan Cox cc: Andi Kleen , "H. Peter Anvin" , Gerd Knorr , Dave Jones , Zachary Amsden , Pavel Machek , Andrew Morton , Linux Kernel Mailing List , Zwane Mwaikambo , Pratap Subrahmanyam , Christopher Li , "Eric W. Biederman" , Ingo Molnar Subject: Re: [patch] SMP alternatives In-Reply-To: <1132783540.13095.23.camel@localhost.localdomain> Message-ID: References: <437B5A83.8090808@suse.de> <438359D7.7090308@suse.de> <1132764133.7268.51.camel@localhost.localdomain> <20051123163906.GF20775@brahms.suse.de> <1132766489.7268.71.camel@localhost.localdomain> <4384AECC.1030403@zytor.com> <1132782245.13095.4.camel@localhost.localdomain> <20051123211353.GR20775@brahms.suse.de> <1132783540.13095.23.camel@localhost.localdomain> 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: 1362 Lines: 36 On Wed, 23 Nov 2005, Alan Cox wrote: > > On Mer, 2005-11-23 at 22:13 +0100, Andi Kleen wrote: > > The idea was to turn LOCK on only if the process has any > > shared writable mapping and num_online_cpus() > 0. > > That makes a lot of sense, and if we hit hardware that does funky stuff > then the driver can set a 'vma needs lock' bit for the same effect. > > > Might be a bit costly to rewrite all the page tables for that case > > just to change the PAT index. A bit is nicer for that. > > CPU insert/remove is performed how many times a second ? Or for that > matter why not just reload the PAT register and keep the index the > same ? It's not about CPU insert/remove. It's about a single-threaded process becoming multi-threaded, ie a simple "clone()" operation (or doing a shared mmap). So it needs to be _fast_. I would strongly argue that it's not a TLB/PAT operation at all. It has nothing to do with the address of the operation. It's a global bit, and it's in the cr3 just because that's what gets reloaded on task switching. But it could be in the CS register too, for all I care.. 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/