tracing: Updates for 7.1
cover tracing: Updates for 7.1
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
trace/for-next
Head SHA1: e197453eb0c110d3d83fd1d2b324a93d5fcfa314
David Laight (1):
tracing: Remove spurious default precision from show_event_trigger/filter formats
Steven Rostedt (1):
tracing: Remove tracing_alloc_snapshot() when snapshot isn't defined
Vineeth Pillai (Google) (1):
cpufreq: Use trace_call__##name() at guarded tracepoint call sites
----
drivers/cpufreq/amd-pstate.c | 10 +++++----- drivers/cpufreq/cpufreq.c | 2 +- drivers/cpufreq/intel_pstate.c | 2 +- kernel/trace/trace.c | 7 ------- kernel/trace/trace_events.c | 4 ++-- 5 files changed, 9 insertions(+), 16 deletions(-)
PATCH 1/3 tracing: Remove tracing_alloc_snapshot() when snapshot isnt defined
From: Steven Rostedt <[email protected]>
The function tracing_alloc_snapshot() is only used between trace.c and trace_snapshot.c. When snapshot isn't configured, it's not used at all. The stub function was defined as a global with no users and no prototype causing build issues.
Remove the function when snapshot isn't configured as nothing is calling it.
Also remove the EXPORT_SYMBOL_GPL() that was associated with it as it's not used outside of the tracing subsystem which also includes any modules.
--- kernel/trace/trace.c | 7 ------- 1 file changed, 7 deletions(-)
kernel/trace/trace.c +0 -7
@@ -810,19 +810,12 @@ int tracing_alloc_snapshot(void) return ret; } -EXPORT_SYMBOL_GPL (tracing_alloc_snapshot);#else void tracing_snapshot (void ) {WARN_ONCE (1 ,"Snapshot feature not enabled, but internal snapshot used" ); }EXPORT_SYMBOL_GPL (tracing_snapshot); -int tracing_alloc_snapshot (void ) -{ -WARN_ONCE (1 ,"Snapshot feature not enabled, but snapshot allocation used" ); -return -ENODEV ; -} -EXPORT_SYMBOL_GPL (tracing_alloc_snapshot);void tracing_snapshot_alloc (void ) {/* Give warning */
Signature · 1 line
2.51.0
PATCH 2/3 cpufreq: Use trace_call__##name() at guarded tracepoint call sites
In reply to Steven RostedtFrom: "Vineeth Pillai (Google)" <[email protected]>
Replace trace_foo() with the new trace_call__foo() at sites already guarded by trace_foo_enabled(), avoiding a redundant static_branch_unlikely() re-evaluation inside the tracepoint. trace_call__foo() calls the tracepoint callbacks directly without utilizing the static branch again.
--- drivers/cpufreq/amd-pstate.c | 10 +++++----- drivers/cpufreq/cpufreq.c | 2 +- drivers/cpufreq/intel_pstate.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-)
drivers/cpufreq/amd-pstate.c +5 -5
@@ -247,7 +247,7 @@ static int msr_update_perf(struct cpufreq_policy *policy, u8 min_perf,if (trace_amd_pstate_epp_perf_enabled ()) {union perf_cached perf =READ_ONCE (cpudata->perf); - trace_amd_pstate_epp_perf(cpudata->cpu, + trace_call__amd_pstate_epp_perf(cpudata->cpu, perf.highest_perf, epp, min_perf,
@@ -298,7 +298,7 @@ static int msr_set_epp(struct cpufreq_policy *policy, u8 epp)if (trace_amd_pstate_epp_perf_enabled ()) {union perf_cached perf = cpudata->perf; - trace_amd_pstate_epp_perf(cpudata->cpu, perf.highest_perf, + trace_call__amd_pstate_epp_perf(cpudata->cpu, perf.highest_perf, epp, FIELD_GET(AMD_CPPC_MIN_PERF_MASK, cpudata->cppc_req_cached),
@@ -343,7 +343,7 @@ static int shmem_set_epp(struct cpufreq_policy *policy, u8 epp)if (trace_amd_pstate_epp_perf_enabled ()) {union perf_cached perf = cpudata->perf; - trace_amd_pstate_epp_perf(cpudata->cpu, perf.highest_perf, + trace_call__amd_pstate_epp_perf(cpudata->cpu, perf.highest_perf, epp, FIELD_GET(AMD_CPPC_MIN_PERF_MASK, cpudata->cppc_req_cached),
@@ -507,7 +507,7 @@ static int shmem_update_perf(struct cpufreq_policy *policy, u8 min_perf,if (trace_amd_pstate_epp_perf_enabled ()) {union perf_cached perf =READ_ONCE (cpudata->perf); - trace_amd_pstate_epp_perf(cpudata->cpu, + trace_call__amd_pstate_epp_perf(cpudata->cpu, perf.highest_perf, epp, min_perf,
@@ -588,7 +588,7 @@ static void amd_pstate_update(struct amd_cpudata *cpudata, u8 min_perf, }if (trace_amd_pstate_perf_enabled () &&amd_pstate_sample (cpudata)) { -trace_amd_pstate_perf (min_perf, des_perf, max_perf, cpudata->freq, +trace_call__amd_pstate_perf (min_perf, des_perf, max_perf, cpudata->freq, cpudata->cur.mperf, cpudata->cur.aperf, cpudata->cur.tsc, cpudata->cpu, fast_switch); }
drivers/cpufreq/cpufreq.c +1 -1
@@ -2222,7 +2222,7 @@ unsigned int cpufreq_driver_fast_switch(struct cpufreq_policy *policy,if (trace_cpu_frequency_enabled ()) {for_each_cpu (cpu, policy->cpus) -trace_cpu_frequency (freq, cpu); +trace_call__cpu_frequency (freq, cpu); }return freq;
drivers/cpufreq/intel_pstate.c +1 -1
@@ -3132,7 +3132,7 @@ static void intel_cpufreq_trace(struct cpudata *cpu, unsigned int trace_type, inreturn ; sample = &cpu->sample; - trace_pstate_sample(trace_type, + trace_call__pstate_sample(trace_type, 0, old_pstate, cpu->pstate.current_pstate,
Signature · 1 line
2.51.0
PATCH 3/3 tracing: Remove spurious default precision from show_event_trigger/filter formats
In reply to Steven RostedtFrom: David Laight <[email protected]>
Change 2d8b7f9bf8e6e ("tracing: Have show_event_trigger/filter format a bit more in columns") added space padding to align the output.
However it used ("%*.s", len, "") which requests the default precision.
It doesn't matter here whether the userspace default (0) or kernel
default (no precision) is used, but the format should be "%*s".
--- kernel/trace/trace_events.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
kernel/trace/trace_events.c +2 -2
@@ -1718,7 +1718,7 @@ static int t_show_filters(struct seq_file *m, void *v) len =get_call_len (call); -seq_printf (m,"%s:%s%*.s%s\n" , call->class->system, +seq_printf (m,"%s:%s%*s%s\n" , call->class->system,trace_event_name (call), len,"" , filter->filter_string);return 0 ;
@@ -1750,7 +1750,7 @@ static int t_show_triggers(struct seq_file *m, void *v) len =get_call_len (call);list_for_each_entry_rcu (data, &file->triggers, list) { -seq_printf (m,"%s:%s%*.s" , call->class->system, +seq_printf (m,"%s:%s%*s" , call->class->system,trace_event_name (call), len,"" ); data->cmd_ops->
Signature · 1 line
2.51.0