lkml.org 
[lkml]   [2008]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 00/10] percpu: Per cpu code simplification V3

* travis@sgi.com <travis@sgi.com> wrote:

> This patchset simplifies the code that arches need to maintain to
> support per cpu functionality. Most of the code is moved into arch
> independent code. Only a minimal set of definitions is kept for each
> arch.
>
> The patch also unifies the x86 arch so that there is only a single
> asm-x86/percpu.h
>
> V1->V2:
> - Add support for specifying attributes for per cpu declarations (preserves
> IA64 model(small) attribute).
> - Drop first patch that removes the model(small) attribute for IA64
> - Missing #endif in powerpc generic config / Wrong Kconfig
> - Follow Randy's suggestions on how to do the Kconfig settings
>
> V2->V3:
> - fix x86_64 non-SMP case
> - change SHIFT_PTR to SHIFT_PERCPU_PTR
> - fix various percpu_modcopy()'s to reference correct per_cpu_offset()
> - s390 has a special way to determine the pointer to a per cpu area

thanks, i've picked up the x86 and core bits, for testing.

i had the patch below for v2, it's still needed (because i didnt apply
the s390/etc. bits), right?

Ingo

------------->
Subject: x86: let other arches build
From: Ingo Molnar <mingo@elte.hu>

let architectures which still have the DEFINE_PER_CPU/etc. build
properly.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
include/linux/percpu.h | 2 ++
1 file changed, 2 insertions(+)

Index: linux-x86.q/include/linux/percpu.h
===================================================================
--- linux-x86.q.orig/include/linux/percpu.h
+++ linux-x86.q/include/linux/percpu.h
@@ -14,6 +14,7 @@
#endif

#ifdef CONFIG_SMP
+#ifndef DEFINE_PER_CPU
#define DEFINE_PER_CPU(type, name) \
__attribute__((__section__(".data.percpu"))) \
PER_CPU_ATTRIBUTES __typeof__(type) per_cpu__##name
@@ -32,6 +33,7 @@

#define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
#define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
+#endif

/* Enough to cover all DEFINE_PER_CPUs in kernel, including modules. */
#ifndef PERCPU_ENOUGH_ROOM

\
 
 \ /
  Last update: 2008-01-08 10:09    [W:0.061 / U:5.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site