]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blobdiff - queue-4.19/tracing-remove-hist-trigger-synth_var_refs.patch
4.19-stable patches
[thirdparty/kernel/stable-queue.git] / queue-4.19 / tracing-remove-hist-trigger-synth_var_refs.patch
diff --git a/queue-4.19/tracing-remove-hist-trigger-synth_var_refs.patch b/queue-4.19/tracing-remove-hist-trigger-synth_var_refs.patch
new file mode 100644 (file)
index 0000000..73b1722
--- /dev/null
@@ -0,0 +1,73 @@
+From 912201345f7c39e6b0ac283207be2b6641fa47b9 Mon Sep 17 00:00:00 2001
+From: Tom Zanussi <tom.zanussi@linux.intel.com>
+Date: Tue, 18 Dec 2018 14:33:25 -0600
+Subject: tracing: Remove hist trigger synth_var_refs
+
+From: Tom Zanussi <tom.zanussi@linux.intel.com>
+
+commit 912201345f7c39e6b0ac283207be2b6641fa47b9 upstream.
+
+All var_refs are now handled uniformly and there's no reason to treat
+the synth_refs in a special way now, so remove them and associated
+functions.
+
+Link: http://lkml.kernel.org/r/b4d3470526b8f0426dcec125399dad9ad9b8589d.1545161087.git.tom.zanussi@linux.intel.com
+
+Acked-by: Namhyung Kim <namhyung@kernel.org>
+Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
+Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+Signed-off-by: George Guo <guodongtai@kylinos.cn>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ kernel/trace/trace_events_hist.c |   18 ------------------
+ 1 file changed, 18 deletions(-)
+
+--- a/kernel/trace/trace_events_hist.c
++++ b/kernel/trace/trace_events_hist.c
+@@ -280,8 +280,6 @@ struct hist_trigger_data {
+       struct action_data              *actions[HIST_ACTIONS_MAX];
+       unsigned int                    n_actions;
+-      struct hist_field               *synth_var_refs[SYNTH_FIELDS_MAX];
+-      unsigned int                    n_synth_var_refs;
+       struct field_var                *field_vars[SYNTH_FIELDS_MAX];
+       unsigned int                    n_field_vars;
+       unsigned int                    n_field_var_str;
+@@ -3708,20 +3706,6 @@ static void save_field_var(struct hist_t
+ }
+-static void destroy_synth_var_refs(struct hist_trigger_data *hist_data)
+-{
+-      unsigned int i;
+-
+-      for (i = 0; i < hist_data->n_synth_var_refs; i++)
+-              destroy_hist_field(hist_data->synth_var_refs[i], 0);
+-}
+-
+-static void save_synth_var_ref(struct hist_trigger_data *hist_data,
+-                       struct hist_field *var_ref)
+-{
+-      hist_data->synth_var_refs[hist_data->n_synth_var_refs++] = var_ref;
+-}
+-
+ static int check_synth_field(struct synth_event *event,
+                            struct hist_field *hist_field,
+                            unsigned int field_pos)
+@@ -3884,7 +3868,6 @@ static int onmatch_create(struct hist_tr
+                               goto err;
+                       }
+-                      save_synth_var_ref(hist_data, var_ref);
+                       field_pos++;
+                       kfree(p);
+                       continue;
+@@ -4631,7 +4614,6 @@ static void destroy_hist_data(struct his
+       destroy_actions(hist_data);
+       destroy_field_vars(hist_data);
+       destroy_field_var_hists(hist_data);
+-      destroy_synth_var_refs(hist_data);
+       kfree(hist_data);
+ }