Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760526AbYGJRcR (ORCPT ); Thu, 10 Jul 2008 13:32:17 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755704AbYGJRcD (ORCPT ); Thu, 10 Jul 2008 13:32:03 -0400 Received: from out02.mta.xmission.com ([166.70.13.232]:33656 "EHLO out02.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754207AbYGJRcB (ORCPT ); Thu, 10 Jul 2008 13:32:01 -0400 From: ebiederm@xmission.com (Eric W. Biederman) To: Christoph Lameter Cc: "H. Peter Anvin" , Jeremy Fitzhardinge , Ingo Molnar , Mike Travis , Andrew Morton , Jack Steiner , linux-kernel@vger.kernel.org, Arjan van de Ven References: <20080709165129.292635000@polaris-admin.engr.sgi.com> <20080709200757.GD14009@elte.hu> <48751B57.8030605@goop.org> <48751CF9.4020901@linux-foundation.org> <4875209D.8010603@goop.org> <48752CCD.30507@linux-foundation.org> <48753C99.5050408@goop.org> <487555A8.2050007@zytor.com> <487556A5.5090907@goop.org> <4876194E.4080205@linux-foundation.org> <48761C06.3020003@zytor.com> <48762A3B.5050104@linux-foundation.org> <48762DD2.5090802@zytor.com> <487637A1.4080403@linux-foundation.org> Date: Thu, 10 Jul 2008 10:26:30 -0700 In-Reply-To: <487637A1.4080403@linux-foundation.org> (Christoph Lameter's message of "Thu, 10 Jul 2008 11:24:01 -0500") Message-ID: User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SA-Exim-Connect-IP: 24.130.11.59 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-DCC: XMission; sa01 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ;Christoph Lameter X-Spam-Relay-Country: X-Spam-Report: * -1.8 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.0 T_TM2_M_HEADER_IN_MSG BODY: T_TM2_M_HEADER_IN_MSG * -0.2 BAYES_40 BODY: Bayesian spam probability is 20 to 40% * [score: 0.3866] * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa01 1397; Body=1 Fuz1=1 Fuz2=1] * 0.0 XM_SPF_Neutral SPF-Neutral Subject: Re: [RFC 00/15] x86_64: Optimize percpu accesses X-SA-Exim-Version: 4.2 (built Thu, 03 Mar 2005 10:44:12 +0100) X-SA-Exim-Scanned: Yes (on mgr1.xmission.com) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1991 Lines: 49 Christoph Lameter writes: > H. Peter Anvin wrote: > >> but there is a distinct lack of wiggle room, which can be resolved >> either by using negative offsets, or by moving the kernel text area up a >> bit from -2 GB. > > Lets say we reserve 256MB of cpu alloc space per processor. First off right now reserving more than about 64KB is ridiculous. We rightly don't have that many per cpu variables. > On a system with 4k processors this will result in the need for 1TB virtual > address space for per cpu areas (note that there may be more processors in the > future). Preferably we would calculate the address of the per cpu area by > > PERCPU_START_ADDRESS + PERCPU_SIZE * smp_processor_id() > > instead of looking it up in a table because that will save a memory access on > per_cpu(). ???? Optimizing per_cpu seems to be the wrong path. If you want to go fast you access the data on the cpu you start out on. > The first percpu area would ideally be the per cpu segment generated by the > linker. > > How would that fit into the address map? In particular the 2G distance between > code and the first per cpu area must not be violated unless we go to a zero > based approach. > > Maybe there is another way of arranging things that would allow for this? Yes. Start with a patch that doesn't have freaky failures that can't be understood or bisected because the patch is too big. The only reason we are having a conversation about alternative implementations is because the current implementation has weird random incomprehensible failures. The most likely culprit is playing with the linker. It could be something else. So please REFACTOR the patch that changes things to DO ONE THING PER PATCH. Eric -- 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/