cache.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
- #ifndef __LINUX_CACHE_H
- #define __LINUX_CACHE_H
- #include <linux/config.h>
- #include <asm/cache.h>
- #ifndef L1_CACHE_ALIGN
- #define L1_CACHE_ALIGN(x) (((x)+(L1_CACHE_BYTES-1))&~(L1_CACHE_BYTES-1))
- #endif
- #ifndef SMP_CACHE_BYTES
- #define SMP_CACHE_BYTES L1_CACHE_BYTES
- #endif
- #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
- #ifdef MODULE
- #define __cacheline_aligned ____cacheline_aligned
- #else
- #define __cacheline_aligned
- __attribute__((__aligned__(SMP_CACHE_BYTES),
- __section__(".data.cacheline_aligned")))
- #endif
- #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
- #endif /* __LINUX_CACHE_H */