From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758964AbXK0AR0 (ORCPT ); Mon, 26 Nov 2007 19:17:26 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758029AbXK0AOj (ORCPT ); Mon, 26 Nov 2007 19:14:39 -0500 Received: from netops-testserver-3-out.sgi.com ([192.48.171.28]:45364 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757125AbXK0AOc (ORCPT ); Mon, 26 Nov 2007 19:14:32 -0500 Message-Id: <20071127001431.688565525@sgi.com> References: <20071127001407.859743255@sgi.com> User-Agent: quilt/0.46-1 Date: Mon, 26 Nov 2007 16:14:18 -0800 From: Christoph Lameter To: akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, Paul Mackerras Subject: [patch 11/14] Powerpc: Use generic per cpu Content-Disposition: inline; filename=power_generic_percpu Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Powerpc has a way to determine the address of the per cpu area of the currently executing processor via the paca and the array of per cpu offsets is avoided by looking up the per cpu area from the remote paca's (copying x86_64). Cc: Paul Mackerras Signed-off-by: Christoph Lameter --- include/asm-powerpc/percpu.h | 19 ------------------- 1 file changed, 19 deletions(-) Index: linux-2.6/include/asm-powerpc/percpu.h =================================================================== --- linux-2.6.orig/include/asm-powerpc/percpu.h 2007-11-24 10:27:31.088350556 -0800 +++ linux-2.6/include/asm-powerpc/percpu.h 2007-11-24 10:29:20.752350757 -0800 @@ -16,25 +16,6 @@ #define __my_cpu_offset() get_paca()->data_offset #define per_cpu_offset(x) (__per_cpu_offset(x)) -/* var is in discarded region: offset to particular copy we want */ -#define per_cpu(var, cpu) (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset(cpu))) -#define __get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __my_cpu_offset())) -#define __raw_get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, local_paca->data_offset)) - -extern void setup_per_cpu_areas(void); - -#else /* ! SMP */ - -#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var)) -#define __get_cpu_var(var) per_cpu__##var -#define __raw_get_cpu_var(var) per_cpu__##var - #endif /* SMP */ - -#define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name - -#else #include -#endif - #endif /* _ASM_POWERPC_PERCPU_H_ */ --