aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/cacheline.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2019-08-22 16:58:29 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2019-08-26 11:58:29 -0300
commit125009026bfc9ec929975d35344bf69d2c636e95 (patch)
treee1af2ccecedf484c3eadbe3ae05ba657bdf231a4 /tools/perf/util/cacheline.h
parentperf record: Move record_opts and other record decls out of perf.h (diff)
downloadlinux-dev-125009026bfc9ec929975d35344bf69d2c636e95.tar.xz
linux-dev-125009026bfc9ec929975d35344bf69d2c636e95.zip
perf cacheline: Move cacheline related routines to separate files
To disentangle util/sort.h a bit more. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lkml.kernel.org/n/tip-6kbf2cauas06rbqp15pyter5@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/cacheline.h')
-rw-r--r--tools/perf/util/cacheline.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/perf/util/cacheline.h b/tools/perf/util/cacheline.h
new file mode 100644
index 000000000000..dec8c0fb1f4a
--- /dev/null
+++ b/tools/perf/util/cacheline.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef PERF_CACHELINE_H
+#define PERF_CACHELINE_H
+
+#include <linux/compiler.h>
+
+int __pure cacheline_size(void);
+
+static inline u64 cl_address(u64 address)
+{
+ /* return the cacheline of the address */
+ return (address & ~(cacheline_size() - 1));
+}
+
+static inline u64 cl_offset(u64 address)
+{
+ /* return the cacheline of the address */
+ return (address & (cacheline_size() - 1));
+}
+
+#endif // PERF_CACHELINE_H