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

From: Mike Travis
Date: Tue Jan 08 2008 - 11:28:01 EST


Ingo Molnar wrote:
> * 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

Yes, good point. Thanks.

Mike

>
> ------------->
> 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/