summaryrefslogtreecommitdiff
path: root/include/linux/cache.h
diff options
context:
space:
mode:
authorRich Felker <dalias@libc.org>2016-03-30 00:53:03 +0300
committerRich Felker <dalias@libc.org>2016-03-30 00:53:03 +0300
commit16b02d711f4059b8338ef967064195b47cae65ea (patch)
tree6d3e0b7629210b56f8d6cfa39184c878d8a15367 /include/linux/cache.h
parentb15d53d009558d14c4f394a6d1fa2039c7f45c43 (diff)
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
downloadlinux-16b02d711f4059b8338ef967064195b47cae65ea.tar.xz
Merge tag 'v4.6-rc1'
Linux 4.6-rc1
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