From: Sasha Levin Date: Sun, 29 Dec 2019 01:59:30 +0000 (-0500) Subject: Drop perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch X-Git-Tag: v4.14.161~17^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f0c240667a049ed554c3a19fa8fff31d263ea8a0;p=thirdparty%2Fkernel%2Fstable-queue.git Drop perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch Signed-off-by: Sasha Levin --- diff --git a/queue-4.14/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch b/queue-4.14/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch deleted file mode 100644 index 7f3d7b34d4e..00000000000 --- a/queue-4.14/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch +++ /dev/null @@ -1,96 +0,0 @@ -From cb32ebf6b888012a6e374ce70fe796d11e3252e0 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 14 Oct 2019 20:13:51 -0300 -Subject: perf trace: Filter own pid to avoid a feedback look in 'perf trace - record -a' -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Arnaldo Carvalho de Melo - -[ Upstream commit 7fbfe22cf4cfe01a88704dd76ca65d108039d297 ] - -When doing a system wide 'perf trace record' we need, just like in 'perf -trace' live mode, to filter out perf trace's own pid, so set up a -tracepoint filter for the raw_syscalls tracepoints right after adding -them to the argv array that is set up to then call cmd_record(). - -Reported-by: Andi Kleen -Cc: Adrian Hunter -Cc: David Ahern -Cc: Jiri Olsa -Cc: Luis Cláudio Gonçalves -Cc: Namhyung Kim -Link: https://lkml.kernel.org/n/tip-uysx5w8f2y5ndoln5cq370tv@git.kernel.org -Signed-off-by: Arnaldo Carvalho de Melo -Signed-off-by: Sasha Levin ---- - tools/perf/builtin-trace.c | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c -index b224bf3f2b99..63a35036321b 100644 ---- a/tools/perf/builtin-trace.c -+++ b/tools/perf/builtin-trace.c -@@ -2055,21 +2055,23 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - "-m", "1024", - "-c", "1", - }; -- -+ pid_t pid = getpid(); -+ char *filter = asprintf__tp_filter_pids(1, &pid); - const char * const sc_args[] = { "-e", }; - unsigned int sc_args_nr = ARRAY_SIZE(sc_args); - const char * const majpf_args[] = { "-e", "major-faults" }; - unsigned int majpf_args_nr = ARRAY_SIZE(majpf_args); - const char * const minpf_args[] = { "-e", "minor-faults" }; - unsigned int minpf_args_nr = ARRAY_SIZE(minpf_args); -+ int err = -1; - -- /* +1 is for the event string below */ -- rec_argc = ARRAY_SIZE(record_args) + sc_args_nr + 1 + -+ /* +3 is for the event string below and the pid filter */ -+ rec_argc = ARRAY_SIZE(record_args) + sc_args_nr + 3 + - majpf_args_nr + minpf_args_nr + argc; - rec_argv = calloc(rec_argc + 1, sizeof(char *)); - -- if (rec_argv == NULL) -- return -ENOMEM; -+ if (rec_argv == NULL || filter == NULL) -+ goto out_free; - - j = 0; - for (i = 0; i < ARRAY_SIZE(record_args); i++) -@@ -2086,11 +2088,13 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - rec_argv[j++] = "syscalls:sys_enter,syscalls:sys_exit"; - else { - pr_err("Neither raw_syscalls nor syscalls events exist.\n"); -- free(rec_argv); -- return -1; -+ goto out_free; - } - } - -+ rec_argv[j++] = "--filter"; -+ rec_argv[j++] = filter; -+ - if (trace->trace_pgfaults & TRACE_PFMAJ) - for (i = 0; i < majpf_args_nr; i++) - rec_argv[j++] = majpf_args[i]; -@@ -2102,7 +2106,11 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - for (i = 0; i < (unsigned int)argc; i++) - rec_argv[j++] = argv[i]; - -- return cmd_record(j, rec_argv); -+ err = cmd_record(j, rec_argv); -+out_free: -+ free(filter); -+ free(rec_argv); -+ return err; - } - - static size_t trace__fprintf_thread_summary(struct trace *trace, FILE *fp); --- -2.20.1 - diff --git a/queue-4.14/series b/queue-4.14/series index 9c5fb4f4be7..7af0af9872f 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -59,7 +59,6 @@ x86-mm-use-the-correct-function-type-for-native_set_.patch drm-bridge-dw-hdmi-restore-audio-when-setting-a-mode.patch perf-test-report-failure-for-mmap-events.patch perf-report-add-warning-when-libunwind-not-compiled-.patch -perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch usb-usbfs-suppress-problematic-bind-and-unbind-ueven.patch iio-adc-max1027-reset-the-device-at-probe-time.patch bluetooth-missed-cpu_to_le16-conversion-in-hci_init4.patch diff --git a/queue-4.19/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch b/queue-4.19/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch deleted file mode 100644 index c6a52679a23..00000000000 --- a/queue-4.19/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch +++ /dev/null @@ -1,96 +0,0 @@ -From f64e3beb2f451f8f8330c1e75ab01d2085600ee8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 14 Oct 2019 20:13:51 -0300 -Subject: perf trace: Filter own pid to avoid a feedback look in 'perf trace - record -a' -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Arnaldo Carvalho de Melo - -[ Upstream commit 7fbfe22cf4cfe01a88704dd76ca65d108039d297 ] - -When doing a system wide 'perf trace record' we need, just like in 'perf -trace' live mode, to filter out perf trace's own pid, so set up a -tracepoint filter for the raw_syscalls tracepoints right after adding -them to the argv array that is set up to then call cmd_record(). - -Reported-by: Andi Kleen -Cc: Adrian Hunter -Cc: David Ahern -Cc: Jiri Olsa -Cc: Luis Cláudio Gonçalves -Cc: Namhyung Kim -Link: https://lkml.kernel.org/n/tip-uysx5w8f2y5ndoln5cq370tv@git.kernel.org -Signed-off-by: Arnaldo Carvalho de Melo -Signed-off-by: Sasha Levin ---- - tools/perf/builtin-trace.c | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c -index 3f43aedb384d..7ec3fc4dc5ed 100644 ---- a/tools/perf/builtin-trace.c -+++ b/tools/perf/builtin-trace.c -@@ -2209,21 +2209,23 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - "-m", "1024", - "-c", "1", - }; -- -+ pid_t pid = getpid(); -+ char *filter = asprintf__tp_filter_pids(1, &pid); - const char * const sc_args[] = { "-e", }; - unsigned int sc_args_nr = ARRAY_SIZE(sc_args); - const char * const majpf_args[] = { "-e", "major-faults" }; - unsigned int majpf_args_nr = ARRAY_SIZE(majpf_args); - const char * const minpf_args[] = { "-e", "minor-faults" }; - unsigned int minpf_args_nr = ARRAY_SIZE(minpf_args); -+ int err = -1; - -- /* +1 is for the event string below */ -- rec_argc = ARRAY_SIZE(record_args) + sc_args_nr + 1 + -+ /* +3 is for the event string below and the pid filter */ -+ rec_argc = ARRAY_SIZE(record_args) + sc_args_nr + 3 + - majpf_args_nr + minpf_args_nr + argc; - rec_argv = calloc(rec_argc + 1, sizeof(char *)); - -- if (rec_argv == NULL) -- return -ENOMEM; -+ if (rec_argv == NULL || filter == NULL) -+ goto out_free; - - j = 0; - for (i = 0; i < ARRAY_SIZE(record_args); i++) -@@ -2240,11 +2242,13 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - rec_argv[j++] = "syscalls:sys_enter,syscalls:sys_exit"; - else { - pr_err("Neither raw_syscalls nor syscalls events exist.\n"); -- free(rec_argv); -- return -1; -+ goto out_free; - } - } - -+ rec_argv[j++] = "--filter"; -+ rec_argv[j++] = filter; -+ - if (trace->trace_pgfaults & TRACE_PFMAJ) - for (i = 0; i < majpf_args_nr; i++) - rec_argv[j++] = majpf_args[i]; -@@ -2256,7 +2260,11 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - for (i = 0; i < (unsigned int)argc; i++) - rec_argv[j++] = argv[i]; - -- return cmd_record(j, rec_argv); -+ err = cmd_record(j, rec_argv); -+out_free: -+ free(filter); -+ free(rec_argv); -+ return err; - } - - static size_t trace__fprintf_thread_summary(struct trace *trace, FILE *fp); --- -2.20.1 - diff --git a/queue-4.19/series b/queue-4.19/series index f388d083f67..bc368c28659 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -76,7 +76,6 @@ ath10k-correct-error-handling-of-dma_map_single.patch drm-bridge-dw-hdmi-restore-audio-when-setting-a-mode.patch perf-test-report-failure-for-mmap-events.patch perf-report-add-warning-when-libunwind-not-compiled-.patch -perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch usb-usbfs-suppress-problematic-bind-and-unbind-ueven.patch iio-adc-max1027-reset-the-device-at-probe-time.patch bluetooth-missed-cpu_to_le16-conversion-in-hci_init4.patch diff --git a/queue-5.4/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch b/queue-5.4/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch deleted file mode 100644 index 3bb42fadfb7..00000000000 --- a/queue-5.4/perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 8a71ada8e24a7177bff1f451e5a5237d87fbe7f9 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 14 Oct 2019 20:13:51 -0300 -Subject: perf trace: Filter own pid to avoid a feedback look in 'perf trace - record -a' -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Arnaldo Carvalho de Melo - -[ Upstream commit 7fbfe22cf4cfe01a88704dd76ca65d108039d297 ] - -When doing a system wide 'perf trace record' we need, just like in 'perf -trace' live mode, to filter out perf trace's own pid, so set up a -tracepoint filter for the raw_syscalls tracepoints right after adding -them to the argv array that is set up to then call cmd_record(). - -Reported-by: Andi Kleen -Cc: Adrian Hunter -Cc: David Ahern -Cc: Jiri Olsa -Cc: Luis Cláudio Gonçalves -Cc: Namhyung Kim -Link: https://lkml.kernel.org/n/tip-uysx5w8f2y5ndoln5cq370tv@git.kernel.org -Signed-off-by: Arnaldo Carvalho de Melo -Signed-off-by: Sasha Levin ---- - tools/perf/builtin-trace.c | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c -index bb5130d02155..e47a08f6fca8 100644 ---- a/tools/perf/builtin-trace.c -+++ b/tools/perf/builtin-trace.c -@@ -2576,21 +2576,23 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - "-m", "1024", - "-c", "1", - }; -- -+ pid_t pid = getpid(); -+ char *filter = asprintf__tp_filter_pids(1, &pid); - const char * const sc_args[] = { "-e", }; - unsigned int sc_args_nr = ARRAY_SIZE(sc_args); - const char * const majpf_args[] = { "-e", "major-faults" }; - unsigned int majpf_args_nr = ARRAY_SIZE(majpf_args); - const char * const minpf_args[] = { "-e", "minor-faults" }; - unsigned int minpf_args_nr = ARRAY_SIZE(minpf_args); -+ int err = -1; - -- /* +1 is for the event string below */ -- rec_argc = ARRAY_SIZE(record_args) + sc_args_nr + 1 + -+ /* +3 is for the event string below and the pid filter */ -+ rec_argc = ARRAY_SIZE(record_args) + sc_args_nr + 3 + - majpf_args_nr + minpf_args_nr + argc; - rec_argv = calloc(rec_argc + 1, sizeof(char *)); - -- if (rec_argv == NULL) -- return -ENOMEM; -+ if (rec_argv == NULL || filter == NULL) -+ goto out_free; - - j = 0; - for (i = 0; i < ARRAY_SIZE(record_args); i++) -@@ -2607,11 +2609,13 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - rec_argv[j++] = "syscalls:sys_enter,syscalls:sys_exit"; - else { - pr_err("Neither raw_syscalls nor syscalls events exist.\n"); -- free(rec_argv); -- return -1; -+ goto out_free; - } - } - -+ rec_argv[j++] = "--filter"; -+ rec_argv[j++] = filter; -+ - if (trace->trace_pgfaults & TRACE_PFMAJ) - for (i = 0; i < majpf_args_nr; i++) - rec_argv[j++] = majpf_args[i]; -@@ -2623,7 +2627,11 @@ static int trace__record(struct trace *trace, int argc, const char **argv) - for (i = 0; i < (unsigned int)argc; i++) - rec_argv[j++] = argv[i]; - -- return cmd_record(j, rec_argv); -+ err = cmd_record(j, rec_argv); -+out_free: -+ free(filter); -+ free(rec_argv); -+ return err; - } - - static size_t trace__fprintf_thread_summary(struct trace *trace, FILE *fp); --- -2.20.1 - diff --git a/queue-5.4/series b/queue-5.4/series index ee2eacf0cca..a9a0ee0cb7b 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -146,7 +146,6 @@ perf-test-report-failure-for-mmap-events.patch perf-report-add-warning-when-libunwind-not-compiled-.patch perf-test-avoid-infinite-loop-for-task-exit-case.patch perf-vendor-events-arm64-fix-hisi-hip08-ddrc-pmu-eve.patch -perf-trace-filter-own-pid-to-avoid-a-feedback-look-i.patch usb-usbfs-suppress-problematic-bind-and-unbind-ueven.patch drm-amd-powerplay-avoid-disabling-ecc-if-ras-is-enab.patch iio-adc-max1027-reset-the-device-at-probe-time.patch