[for-next][PATCH 02/21] ftrace: Use macros for numbers in ftrace rec shift bits

Steven Rostedt
2014-07-03T16:18:25Z

[-- Attachment #1: 0002-ftrace-Use-macros-for-numbers-in-ftrace-rec-shift-bi.patch --]
[-- Type: text/plain, Size: 1286 bytes --]

From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>

As new flags will be added to the ftrace dynamic record, and since
the flags field is also a counter, converting the numbers used to
do the shifting and masking into a set of macros where we only need
to deal with the max bit count of the counter and the number of bits
for the flags will prevent mistakes in the future.

Dealing with only two numbers is much easier than updating all the
macros that deal with shifting and masking.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
include/linux/ftrace.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 404a686a3644..e4e7df422021 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -322,8 +322,11 @@ enum {
FTRACE_FL_REGS_EN = (1UL << 31)
};

-#define FTRACE_FL_MASK (0x7UL << 29)
-#define FTRACE_REF_MAX ((1UL << 29) - 1)
+#define FTRACE_REF_MAX_SHIFT 29
+#define FTRACE_FL_BITS 3
+#define FTRACE_FL_MASKED_BITS ((1UL << FTRACE_FL_BITS) - 1)
+#define FTRACE_FL_MASK (FTRACE_FL_MASKED_BITS << FTRACE_REF_MAX_SHIFT)
+#define FTRACE_REF_MAX ((1UL << FTRACE_REF_MAX_SHIFT) - 1)

struct dyn_ftrace {
unsigned long ip; /* address of mcount call-site */
--
2.0.0