diff options
author | Ingo Molnar <mingo@elte.hu> | 2011-05-27 14:28:09 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-05-27 14:28:09 +0200 |
commit | d6a72fe465f4c54654a1d5488daeb820b4ecf275 (patch) | |
tree | 1b581d3b3452b47ba35e1ee3c96d05c030ed9726 /kernel/trace/trace.h | |
parent | b1d2dc3c06d8da7d58fb43d7123a91c1d6a4f576 (diff) | |
parent | b1cff0ad1062621ae63cb6c5dc4165191fe2e9f1 (diff) |
Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r-- | kernel/trace/trace.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 6b69c4bd306..229f8591f61 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -784,4 +784,19 @@ extern const char *__stop___trace_bprintk_fmt[]; FTRACE_ENTRY(call, struct_name, id, PARAMS(tstruct), PARAMS(print)) #include "trace_entries.h" +/* Only current can touch trace_recursion */ +#define trace_recursion_inc() do { (current)->trace_recursion++; } while (0) +#define trace_recursion_dec() do { (current)->trace_recursion--; } while (0) + +/* Ring buffer has the 10 LSB bits to count */ +#define trace_recursion_buffer() ((current)->trace_recursion & 0x3ff) + +/* for function tracing recursion */ +#define TRACE_INTERNAL_BIT (1<<11) +#define TRACE_GLOBAL_BIT (1<<12) + +#define trace_recursion_set(bit) do { (current)->trace_recursion |= (bit); } while (0) +#define trace_recursion_clear(bit) do { (current)->trace_recursion &= ~(bit); } while (0) +#define trace_recursion_test(bit) ((current)->trace_recursion & (bit)) + #endif /* _LINUX_KERNEL_TRACE_H */ |