forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'trace-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/rostedt/linux-trace Pull tracing updates from - allow module init functions to be traced - clean up some unused or not used by config events (saves space) - clean up of trace histogram code - add support for preempt and interrupt enabled/disable events - other various clean ups * tag 'trace-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (30 commits) tracing, thermal: Hide cpu cooling trace events when not in use tracing, thermal: Hide devfreq trace events when not in use ftrace: Kill FTRACE_OPS_FL_PER_CPU perf/ftrace: Small cleanup perf/ftrace: Fix function trace events perf/ftrace: Revert ("perf/ftrace: Fix double traces of perf on ftrace:function") tracing, dma-buf: Remove unused trace event dma_fence_annotate_wait_on tracing, memcg, vmscan: Hide trace events when not in use tracing/xen: Hide events that are not used when X86_PAE is not defined tracing: mark trace_test_buffer as __maybe_unused printk: Remove superfluous memory barriers from printk_safe ftrace: Clear hashes of stale ips of init memory tracing: Add support for preempt and irq enable/disable events tracing: Prepare to add preempt and irq trace events ftrace/kallsyms: Have /proc/kallsyms show saved mod init functions ftrace: Add freeing algorithm to free ftrace_mod_maps ftrace: Save module init functions kallsyms symbols for tracing ftrace: Allow module init functions to be traced ftrace: Add a ftrace_free_mem() function for modules to use tracing: Reimplement log2 ...
- Loading branch information
Showing
32 changed files
with
903 additions
and
518 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
#ifdef CONFIG_PREEMPTIRQ_EVENTS | ||
|
||
#undef TRACE_SYSTEM | ||
#define TRACE_SYSTEM preemptirq | ||
|
||
#if !defined(_TRACE_PREEMPTIRQ_H) || defined(TRACE_HEADER_MULTI_READ) | ||
#define _TRACE_PREEMPTIRQ_H | ||
|
||
#include <linux/ktime.h> | ||
#include <linux/tracepoint.h> | ||
#include <linux/string.h> | ||
#include <asm/sections.h> | ||
|
||
DECLARE_EVENT_CLASS(preemptirq_template, | ||
|
||
TP_PROTO(unsigned long ip, unsigned long parent_ip), | ||
|
||
TP_ARGS(ip, parent_ip), | ||
|
||
TP_STRUCT__entry( | ||
__field(u32, caller_offs) | ||
__field(u32, parent_offs) | ||
), | ||
|
||
TP_fast_assign( | ||
__entry->caller_offs = (u32)(ip - (unsigned long)_stext); | ||
__entry->parent_offs = (u32)(parent_ip - (unsigned long)_stext); | ||
), | ||
|
||
TP_printk("caller=%pF parent=%pF", | ||
(void *)((unsigned long)(_stext) + __entry->caller_offs), | ||
(void *)((unsigned long)(_stext) + __entry->parent_offs)) | ||
); | ||
|
||
#ifndef CONFIG_PROVE_LOCKING | ||
DEFINE_EVENT(preemptirq_template, irq_disable, | ||
TP_PROTO(unsigned long ip, unsigned long parent_ip), | ||
TP_ARGS(ip, parent_ip)); | ||
|
||
DEFINE_EVENT(preemptirq_template, irq_enable, | ||
TP_PROTO(unsigned long ip, unsigned long parent_ip), | ||
TP_ARGS(ip, parent_ip)); | ||
#endif | ||
|
||
#ifdef CONFIG_DEBUG_PREEMPT | ||
DEFINE_EVENT(preemptirq_template, preempt_disable, | ||
TP_PROTO(unsigned long ip, unsigned long parent_ip), | ||
TP_ARGS(ip, parent_ip)); | ||
|
||
DEFINE_EVENT(preemptirq_template, preempt_enable, | ||
TP_PROTO(unsigned long ip, unsigned long parent_ip), | ||
TP_ARGS(ip, parent_ip)); | ||
#endif | ||
|
||
#endif /* _TRACE_PREEMPTIRQ_H */ | ||
|
||
#include <trace/define_trace.h> | ||
|
||
#else /* !CONFIG_PREEMPTIRQ_EVENTS */ | ||
|
||
#define trace_irq_enable(...) | ||
#define trace_irq_disable(...) | ||
#define trace_preempt_enable(...) | ||
#define trace_preempt_disable(...) | ||
#define trace_irq_enable_rcuidle(...) | ||
#define trace_irq_disable_rcuidle(...) | ||
#define trace_preempt_enable_rcuidle(...) | ||
#define trace_preempt_disable_rcuidle(...) | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.