linux-bk/include/linux/cache.h
<<
>>
Prefs
   1#ifndef __LINUX_CACHE_H
   2#define __LINUX_CACHE_H
   3
   4#include <linux/kernel.h>
   5#include <linux/config.h>
   6#include <asm/cache.h>
   7
   8#ifndef L1_CACHE_ALIGN
   9#define L1_CACHE_ALIGN(x) ALIGN(x, L1_CACHE_BYTES)
  10#endif
  11
  12#ifndef SMP_CACHE_BYTES
  13#define SMP_CACHE_BYTES L1_CACHE_BYTES
  14#endif
  15
  16#ifndef ____cacheline_aligned
  17#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
  18#endif
  19
  20#ifndef ____cacheline_aligned_in_smp
  21#ifdef CONFIG_SMP
  22#define ____cacheline_aligned_in_smp ____cacheline_aligned
  23#else
  24#define ____cacheline_aligned_in_smp
  25#endif /* CONFIG_SMP */
  26#endif
  27
  28#ifndef __cacheline_aligned
  29#ifdef MODULE
  30#define __cacheline_aligned ____cacheline_aligned
  31#else
  32#define __cacheline_aligned                                     \
  33  __attribute__((__aligned__(SMP_CACHE_BYTES),                  \
  34                 __section__(".data.cacheline_aligned")))
  35#endif
  36#endif /* __cacheline_aligned */
  37
  38#ifndef __cacheline_aligned_in_smp
  39#ifdef CONFIG_SMP
  40#define __cacheline_aligned_in_smp __cacheline_aligned
  41#else
  42#define __cacheline_aligned_in_smp
  43#endif /* CONFIG_SMP */
  44#endif
  45
  46#if !defined(____cacheline_maxaligned_in_smp)
  47#if defined(CONFIG_SMP)
  48#define ____cacheline_maxaligned_in_smp \
  49        __attribute__((__aligned__(1 << (L1_CACHE_SHIFT_MAX))))
  50#else
  51#define ____cacheline_maxaligned_in_smp
  52#endif
  53#endif
  54
  55#endif /* __LINUX_CACHE_H */
  56
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.