lkml.org 
[lkml]   [2006]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 22/61] lock validator: add per_cpu_offset()
On Mon, 29 May 2006 23:24:57 +0200
Ingo Molnar <mingo@elte.hu> wrote:

> From: Ingo Molnar <mingo@elte.hu>
>
> add the per_cpu_offset() generic method. (used by the lock validator)
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
> ---
> include/asm-generic/percpu.h | 2 ++
> include/asm-x86_64/percpu.h | 2 ++
> 2 files changed, 4 insertions(+)
>
> Index: linux/include/asm-generic/percpu.h
> ===================================================================
> --- linux.orig/include/asm-generic/percpu.h
> +++ linux/include/asm-generic/percpu.h
> @@ -7,6 +7,8 @@
>
> extern unsigned long __per_cpu_offset[NR_CPUS];
>
> +#define per_cpu_offset(x) (__per_cpu_offset[x])
> +
> /* Separate out the type, so (int[3], foo) works. */
> #define DEFINE_PER_CPU(type, name) \
> __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name
> Index: linux/include/asm-x86_64/percpu.h
> ===================================================================
> --- linux.orig/include/asm-x86_64/percpu.h
> +++ linux/include/asm-x86_64/percpu.h
> @@ -14,6 +14,8 @@
> #define __per_cpu_offset(cpu) (cpu_pda(cpu)->data_offset)
> #define __my_cpu_offset() read_pda(data_offset)
>
> +#define per_cpu_offset(x) (__per_cpu_offset(x))
> +
> /* Separate out the type, so (int[3], foo) works. */
> #define DEFINE_PER_CPU(type, name) \
> __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name

I can tell just looking at it that it'll break various builds.I assume that
things still happen to compile because you're presently using it in code
which those architectures don't presently compile.

But introducing a "generic" function invites others to start using it. And
they will, and they'll ship code which "works" but is broken, because they
only tested it on x86 and x86_64.

I'll queue the needed fixups - please check it.
-
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/

\
 
 \ /
  Last update: 2006-05-30 03:39    [W:0.646 / U:0.020 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site