X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fcache.h;fp=include%2Flinux%2Fcache.h;h=cc4b3aafad9a1fda984dbe6e08bfcd09d8b3b73f;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=4d767b93738a9461268910c87757c6f1fe7e5e4c;hpb=cee37fe97739d85991964371c1f3a745c00dd236;p=linux-2.6.git diff --git a/include/linux/cache.h b/include/linux/cache.h index 4d767b937..cc4b3aafa 100644 --- a/include/linux/cache.h +++ b/include/linux/cache.h @@ -13,6 +13,10 @@ #define SMP_CACHE_BYTES L1_CACHE_BYTES #endif +#ifndef __read_mostly +#define __read_mostly +#endif + #ifndef ____cacheline_aligned #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) #endif @@ -39,12 +43,21 @@ #endif /* CONFIG_SMP */ #endif -#if !defined(____cacheline_maxaligned_in_smp) +/* + * The maximum alignment needed for some critical structures + * These could be inter-node cacheline sizes/L3 cacheline + * size etc. Define this in asm/cache.h for your arch + */ +#ifndef INTERNODE_CACHE_SHIFT +#define INTERNODE_CACHE_SHIFT L1_CACHE_SHIFT +#endif + +#if !defined(____cacheline_internodealigned_in_smp) #if defined(CONFIG_SMP) -#define ____cacheline_maxaligned_in_smp \ - __attribute__((__aligned__(1 << (L1_CACHE_SHIFT_MAX)))) +#define ____cacheline_internodealigned_in_smp \ + __attribute__((__aligned__(1 << (INTERNODE_CACHE_SHIFT)))) #else -#define ____cacheline_maxaligned_in_smp +#define ____cacheline_internodealigned_in_smp #endif #endif