Blame view
include/linux/cache.h
1.58 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 |
#ifndef __LINUX_CACHE_H #define __LINUX_CACHE_H #include <linux/kernel.h> |
1da177e4c Linux-2.6.12-rc2 |
5 6 7 8 9 10 11 12 13 |
#include <asm/cache.h> #ifndef L1_CACHE_ALIGN #define L1_CACHE_ALIGN(x) ALIGN(x, L1_CACHE_BYTES) #endif #ifndef SMP_CACHE_BYTES #define SMP_CACHE_BYTES L1_CACHE_BYTES #endif |
804f1594c [PATCH] Move read... |
14 |
#ifndef __read_mostly |
6c036527a [PATCH] mostly_re... |
15 16 |
#define __read_mostly #endif |
1da177e4c Linux-2.6.12-rc2 |
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#ifndef ____cacheline_aligned #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) #endif #ifndef ____cacheline_aligned_in_smp #ifdef CONFIG_SMP #define ____cacheline_aligned_in_smp ____cacheline_aligned #else #define ____cacheline_aligned_in_smp #endif /* CONFIG_SMP */ #endif #ifndef __cacheline_aligned #define __cacheline_aligned \ __attribute__((__aligned__(SMP_CACHE_BYTES), \ |
4af57b787 Rename .data.cach... |
32 |
__section__(".data..cacheline_aligned"))) |
1da177e4c Linux-2.6.12-rc2 |
33 34 35 36 37 38 39 40 41 |
#endif /* __cacheline_aligned */ #ifndef __cacheline_aligned_in_smp #ifdef CONFIG_SMP #define __cacheline_aligned_in_smp __cacheline_aligned #else #define __cacheline_aligned_in_smp #endif /* CONFIG_SMP */ #endif |
22fc6eccb [PATCH] Change ma... |
42 43 44 45 46 47 48 49 50 51 |
/* * 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) |
1da177e4c Linux-2.6.12-rc2 |
52 |
#if defined(CONFIG_SMP) |
22fc6eccb [PATCH] Change ma... |
53 54 |
#define ____cacheline_internodealigned_in_smp \ __attribute__((__aligned__(1 << (INTERNODE_CACHE_SHIFT)))) |
1da177e4c Linux-2.6.12-rc2 |
55 |
#else |
22fc6eccb [PATCH] Change ma... |
56 |
#define ____cacheline_internodealigned_in_smp |
1da177e4c Linux-2.6.12-rc2 |
57 58 |
#endif #endif |
1b27d05b6 mm: move cache_li... |
59 60 61 |
#ifndef CONFIG_ARCH_HAS_CACHE_LINE_SIZE #define cache_line_size() L1_CACHE_BYTES #endif |
1da177e4c Linux-2.6.12-rc2 |
62 |
#endif /* __LINUX_CACHE_H */ |