aboutsummaryrefslogtreecommitdiff
path: root/include/linux/cache.h
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-04-11 11:16:39 +0800
committerAlex Shi <alex.shi@linaro.org>2016-04-11 11:16:39 +0800
commitd83731cf53fd3af7173cab5e3f573d06ebc852be (patch)
treed61002ed1d894fe2d9b26003a1230f05a61ed51b /include/linux/cache.h
parentbfbd381ea0ca274e4c07ea62acaaeac31829cd5d (diff)
parent017cfa86c2450b158d7d0336f2f3ea685da1230b (diff)
Merge branch 'linux-linaro-lsk-v4.1' into linux-linaro-lsk-v4.1-rtlsk-v4.1-16.04-rt
Diffstat (limited to 'include/linux/cache.h')
-rw-r--r--include/linux/cache.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/cache.h b/include/linux/cache.h
index 17e7e82d2aa7..1be04f8c563a 100644
--- a/include/linux/cache.h
+++ b/include/linux/cache.h
@@ -12,10 +12,24 @@
#define SMP_CACHE_BYTES L1_CACHE_BYTES
#endif
+/*
+ * __read_mostly is used to keep rarely changing variables out of frequently
+ * updated cachelines. If an architecture doesn't support it, ignore the
+ * hint.
+ */
#ifndef __read_mostly
#define __read_mostly
#endif
+/*
+ * __ro_after_init is used to mark things that are read-only after init (i.e.
+ * after mark_rodata_ro() has been called). These are effectively read-only,
+ * but may get written to during init, so can't live in .rodata (via "const").
+ */
+#ifndef __ro_after_init
+#define __ro_after_init __attribute__((__section__(".data..ro_after_init")))
+#endif
+
#ifndef ____cacheline_aligned
#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
#endif