Re: [PATCH 00/10] percpu: Per cpu code simplification V3

From: Ingo Molnar
Date: Tue Jan 08 2008 - 04:07:53 EST



* travis@xxxxxxx <travis@xxxxxxx> 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@xxxxxxx>

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

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/