Re: [patch 22/61] lock validator: add per_cpu_offset()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 29 May 2006 23:24:57 +0200
Ingo Molnar <[email protected]> wrote:

> From: Ingo Molnar <[email protected]>
> 
> add the per_cpu_offset() generic method. (used by the lock validator)
> 
> Signed-off-by: Ingo Molnar <[email protected]>
> Signed-off-by: Arjan van de Ven <[email protected]>
> ---
>  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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux