Merge tag 'trace-v6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[sfrench/cifs-2.6.git] / include / linux / ftrace.h
index 3e56cb6f40d17456e622b2411a74c92cebbe8e82..b23bdd41439408c9fd1af2c22b4d6e76059832c1 100644 (file)
@@ -548,6 +548,8 @@ bool is_ftrace_trampoline(unsigned long addr);
  *  DIRECT   - there is a direct function to call
  *  CALL_OPS - the record can use callsite-specific ops
  *  CALL_OPS_EN - the function is set up to use callsite-specific ops
+ *  TOUCHED  - A callback was added since boot up
+ *  MODIFIED - The function had IPMODIFY or DIRECT attached to it
  *
  * When a new ftrace_ops is registered and wants a function to save
  * pt_regs, the rec->flags REGS is set. When the function has been
@@ -567,9 +569,11 @@ enum {
        FTRACE_FL_DIRECT_EN     = (1UL << 23),
        FTRACE_FL_CALL_OPS      = (1UL << 22),
        FTRACE_FL_CALL_OPS_EN   = (1UL << 21),
+       FTRACE_FL_TOUCHED       = (1UL << 20),
+       FTRACE_FL_MODIFIED      = (1UL << 19),
 };
 
-#define FTRACE_REF_MAX_SHIFT   21
+#define FTRACE_REF_MAX_SHIFT   19
 #define FTRACE_REF_MAX         ((1UL << FTRACE_REF_MAX_SHIFT) - 1)
 
 #define ftrace_rec_count(rec)  ((rec)->flags & FTRACE_REF_MAX)
@@ -628,6 +632,7 @@ enum {
        FTRACE_ITER_PROBE       = (1 << 4),
        FTRACE_ITER_MOD         = (1 << 5),
        FTRACE_ITER_ENABLED     = (1 << 6),
+       FTRACE_ITER_TOUCHED     = (1 << 7),
 };
 
 void arch_ftrace_update_code(int command);