Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
On 03/09/18 13:24, Arnaldo Carvalho de Melo wrote: - "perf unwind: Report error from dwfl_attach_state" https://patchwork.kernel.org/patch/10211483/ [Martin, I guess it would help if you replied-all that patch and added your signed-off-by.] Right, the S-o-B is needed S-o-B has been provided by reply to this email. If you prefer, I can resubmit the patch with the S-o-B included. - "perf unwind: Unwind with libdw doesn't take symfs into account" https://patchwork.kernel.org/patch/10211599/ This one has the S-o-B, applying, Jiri, holler if you disagree, - Arnaldo Thanks. Regards, MV
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
On 03/09/18 13:24, Arnaldo Carvalho de Melo wrote: - "perf unwind: Report error from dwfl_attach_state" https://patchwork.kernel.org/patch/10211483/ [Martin, I guess it would help if you replied-all that patch and added your signed-off-by.] Right, the S-o-B is needed S-o-B has been provided by reply to this email. If you prefer, I can resubmit the patch with the S-o-B included. - "perf unwind: Unwind with libdw doesn't take symfs into account" https://patchwork.kernel.org/patch/10211599/ This one has the S-o-B, applying, Jiri, holler if you disagree, - Arnaldo Thanks. Regards, MV
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Thanks. I replied to your message with additional information. I will update the commit message and resubmit the patch. MV On 03/09/18 14:29, Arnaldo Carvalho de Melo wrote: Em Fri, Mar 09, 2018 at 01:49:50PM -0500, Martin Vuille escreveu: Hi, I made two other submissions that may also have been overlooked: https://patchwork.kernel.org/patch/10211401/ -- This one has the S-o-B Ok, replied to that one, I can't see where is it that the symfs is being first appended, please clarify that in the patch commit log message.
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Thanks. I replied to your message with additional information. I will update the commit message and resubmit the patch. MV On 03/09/18 14:29, Arnaldo Carvalho de Melo wrote: Em Fri, Mar 09, 2018 at 01:49:50PM -0500, Martin Vuille escreveu: Hi, I made two other submissions that may also have been overlooked: https://patchwork.kernel.org/patch/10211401/ -- This one has the S-o-B Ok, replied to that one, I can't see where is it that the symfs is being first appended, please clarify that in the patch commit log message.
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Em Fri, Mar 09, 2018 at 01:49:50PM -0500, Martin Vuille escreveu: > Hi, > > I made two other submissions that may also have been overlooked: > > https://patchwork.kernel.org/patch/10211401/ -- This one has the S-o-B Ok, replied to that one, I can't see where is it that the symfs is being first appended, please clarify that in the patch commit log message. > https://patchwork.kernel.org/patch/10211473/ -- RFC, was looking for > comments, has the S-o-B [RFC,1/1] perf annotate: Don't prepend symfs path to vmlinux path So, lemme try to provide the precise steps to reproduce this problem: [root@jouet ~]# perf record -F 1 sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (11 samples) ] [root@jouet ~]# perf buildid-list 44d954246227536955cb1ecbe9ef2a05665876b6 /lib/modules/4.16.0-rc4/build/vmlinux 87ae276466bc68e958c9817f11d5e09f14510585 [vdso] 3113881229974f02113945e92c1a4d4f146e061c /usr/lib64/libc-2.26.so [root@jouet ~]# then we go on and remove that buildid from the cache: [root@jouet ~]# perf record -F 1 sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (10 samples) ] [root@jouet ~]# perf report --dso \[kernel.vmlinux\] | grep -v ^# | head -5 38.00% sleep[k] filemap_map_pages 19.68% sleep[k] elf_map 2.69% perf [k] perf_iterate_ctx 0.29% perf [k] end_repeat_nmi 0.04% perf [k] native_sched_clock [root@jouet ~]# [root@jouet ~]# perf buildid-list 44d954246227536955cb1ecbe9ef2a05665876b6 /lib/modules/4.16.0-rc4/build/vmlinux 87ae276466bc68e958c9817f11d5e09f14510585 [vdso] 3113881229974f02113945e92c1a4d4f146e061c /usr/lib64/libc-2.26.so [root@jouet ~]# ls -la ~/.debug/.build-id/44/d954246227536955cb1ecbe9ef2a05665876b6 lrwxrwxrwx. 1 root root 77 Mar 9 16:14 /root/.debug/.build-id/44/d954246227536955cb1ecbe9ef2a05665876b6 -> ../../home/build/v4.16.0-rc4/vmlinux/44d954246227536955cb1ecbe9ef2a05665876b6 [root@jouet ~]# ls -la ~/.debug/home/build/v4.16.0-rc4/vmlinux/44d954246227536955cb1ecbe9ef2a05665876b6/ total 510840 drwxr-xr-x. 2 root root 4096 Mar 9 16:14 . drwxr-xr-x. 3 root root 4096 Mar 6 11:35 .. -rwxr-xr-x. 1 root root 523085744 Mar 6 11:35 elf -rw-r--r--. 1 root root 0 Mar 9 16:14 probes [root@jouet ~]# perf buildid-cache --remove /lib/modules/4.16.0-rc4/build/vmlinux [root@jouet ~]# ls -la ~/.debug/.build-id/44/d954246227536955cb1ecbe9ef2a05665876b6 ls: cannot access '/root/.debug/.build-id/44/d954246227536955cb1ecbe9ef2a05665876b6': No such file or directory [root@jouet ~]# ls -la ~/.debug/home/build/v4.16.0-rc4/vmlinux/44d954246227536955cb1ecbe9ef2a05665876b6/ ls: cannot access '/root/.debug/home/build/v4.16.0-rc4/vmlinux/44d954246227536955cb1ecbe9ef2a05665876b6/': No such file or directory [root@jouet ~]# Ok, so now I do: [root@jouet ~]# perf annotate --stdio --vmlinux /lib/modules/4.16.0-rc4/build/vmlinux filemap_map_pages Failed to open [kernel.kallsyms]_text, continuing without symbols Error: The perf.data file has no samples! [root@jouet ~]# But I ran out of time today, this one needs a bit more investigation, I couldn't get to that dso__disassemble_filename() in the above case :-\ > For https://patchwork.kernel.org/patch/10211483/, I'm not sure how to go > about doing a reply to all. So, no need for that, just state here that you provide your Signed-off-by: to it and I'll add it, which is what I'm doing now since this seems to be your intent, right? I'll just add another Link: tag pointing to your reply to -this- message, if it comes with a S-o-B for https://patchwork.kernel.org/patch/10211483/, ok? - Arnaldo > I had some email problems and was cut-off from the list for a while. > > MV > > > On 03/09/18 13:24, Arnaldo Carvalho de Melo wrote: > > Em Fri, Mar 09, 2018 at 12:07:20PM -0600, Kim Phillips escreveu: > > > On Fri, 9 Mar 2018 12:06:27 -0300 > > > Arnaldo Carvalho de Melowrote: > > > > > > Hi Arnaldo, > > > > > > > Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: > > > > > Based on prior work: > > > > > > > > > > https://lkml.org/lkml/2014/5/6/395 > > > > Thanks, looks good, applying. > > > > > > > > Jean, is everything ok with you on this? > > > By now your email to Jean should have bounced with "The email account > > > that you tried to reach does not exist." Removing Jean from Cc. > > > > > > It seems like you're applying patches. There are a couple that have > > > slipped through the cracks: Can you please take a look at applying them? > > > > > > - "perf tools: Fixing uninitialised variable" > > >https://patchwork.kernel.org/patch/10179381/ > > [acme@jouet perf]$ git tag --contains > > d2785de15f1bd42d613d56bbac5a007e7293b874 > > perf-core-for-mingo-4.17-20180216 > > > > commit d2785de15f1bd42d613d56bbac5a007e7293b874 > > Author: Mathieu Poirier > > AuthorDate: Mon Feb 12
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Em Fri, Mar 09, 2018 at 01:49:50PM -0500, Martin Vuille escreveu: > Hi, > > I made two other submissions that may also have been overlooked: > > https://patchwork.kernel.org/patch/10211401/ -- This one has the S-o-B Ok, replied to that one, I can't see where is it that the symfs is being first appended, please clarify that in the patch commit log message. > https://patchwork.kernel.org/patch/10211473/ -- RFC, was looking for > comments, has the S-o-B [RFC,1/1] perf annotate: Don't prepend symfs path to vmlinux path So, lemme try to provide the precise steps to reproduce this problem: [root@jouet ~]# perf record -F 1 sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (11 samples) ] [root@jouet ~]# perf buildid-list 44d954246227536955cb1ecbe9ef2a05665876b6 /lib/modules/4.16.0-rc4/build/vmlinux 87ae276466bc68e958c9817f11d5e09f14510585 [vdso] 3113881229974f02113945e92c1a4d4f146e061c /usr/lib64/libc-2.26.so [root@jouet ~]# then we go on and remove that buildid from the cache: [root@jouet ~]# perf record -F 1 sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.017 MB perf.data (10 samples) ] [root@jouet ~]# perf report --dso \[kernel.vmlinux\] | grep -v ^# | head -5 38.00% sleep[k] filemap_map_pages 19.68% sleep[k] elf_map 2.69% perf [k] perf_iterate_ctx 0.29% perf [k] end_repeat_nmi 0.04% perf [k] native_sched_clock [root@jouet ~]# [root@jouet ~]# perf buildid-list 44d954246227536955cb1ecbe9ef2a05665876b6 /lib/modules/4.16.0-rc4/build/vmlinux 87ae276466bc68e958c9817f11d5e09f14510585 [vdso] 3113881229974f02113945e92c1a4d4f146e061c /usr/lib64/libc-2.26.so [root@jouet ~]# ls -la ~/.debug/.build-id/44/d954246227536955cb1ecbe9ef2a05665876b6 lrwxrwxrwx. 1 root root 77 Mar 9 16:14 /root/.debug/.build-id/44/d954246227536955cb1ecbe9ef2a05665876b6 -> ../../home/build/v4.16.0-rc4/vmlinux/44d954246227536955cb1ecbe9ef2a05665876b6 [root@jouet ~]# ls -la ~/.debug/home/build/v4.16.0-rc4/vmlinux/44d954246227536955cb1ecbe9ef2a05665876b6/ total 510840 drwxr-xr-x. 2 root root 4096 Mar 9 16:14 . drwxr-xr-x. 3 root root 4096 Mar 6 11:35 .. -rwxr-xr-x. 1 root root 523085744 Mar 6 11:35 elf -rw-r--r--. 1 root root 0 Mar 9 16:14 probes [root@jouet ~]# perf buildid-cache --remove /lib/modules/4.16.0-rc4/build/vmlinux [root@jouet ~]# ls -la ~/.debug/.build-id/44/d954246227536955cb1ecbe9ef2a05665876b6 ls: cannot access '/root/.debug/.build-id/44/d954246227536955cb1ecbe9ef2a05665876b6': No such file or directory [root@jouet ~]# ls -la ~/.debug/home/build/v4.16.0-rc4/vmlinux/44d954246227536955cb1ecbe9ef2a05665876b6/ ls: cannot access '/root/.debug/home/build/v4.16.0-rc4/vmlinux/44d954246227536955cb1ecbe9ef2a05665876b6/': No such file or directory [root@jouet ~]# Ok, so now I do: [root@jouet ~]# perf annotate --stdio --vmlinux /lib/modules/4.16.0-rc4/build/vmlinux filemap_map_pages Failed to open [kernel.kallsyms]_text, continuing without symbols Error: The perf.data file has no samples! [root@jouet ~]# But I ran out of time today, this one needs a bit more investigation, I couldn't get to that dso__disassemble_filename() in the above case :-\ > For https://patchwork.kernel.org/patch/10211483/, I'm not sure how to go > about doing a reply to all. So, no need for that, just state here that you provide your Signed-off-by: to it and I'll add it, which is what I'm doing now since this seems to be your intent, right? I'll just add another Link: tag pointing to your reply to -this- message, if it comes with a S-o-B for https://patchwork.kernel.org/patch/10211483/, ok? - Arnaldo > I had some email problems and was cut-off from the list for a while. > > MV > > > On 03/09/18 13:24, Arnaldo Carvalho de Melo wrote: > > Em Fri, Mar 09, 2018 at 12:07:20PM -0600, Kim Phillips escreveu: > > > On Fri, 9 Mar 2018 12:06:27 -0300 > > > Arnaldo Carvalho de Melo wrote: > > > > > > Hi Arnaldo, > > > > > > > Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: > > > > > Based on prior work: > > > > > > > > > > https://lkml.org/lkml/2014/5/6/395 > > > > Thanks, looks good, applying. > > > > > > > > Jean, is everything ok with you on this? > > > By now your email to Jean should have bounced with "The email account > > > that you tried to reach does not exist." Removing Jean from Cc. > > > > > > It seems like you're applying patches. There are a couple that have > > > slipped through the cracks: Can you please take a look at applying them? > > > > > > - "perf tools: Fixing uninitialised variable" > > >https://patchwork.kernel.org/patch/10179381/ > > [acme@jouet perf]$ git tag --contains > > d2785de15f1bd42d613d56bbac5a007e7293b874 > > perf-core-for-mingo-4.17-20180216 > > > > commit d2785de15f1bd42d613d56bbac5a007e7293b874 > > Author: Mathieu Poirier > > AuthorDate: Mon Feb 12 13:32:37 2018 -0700 > > Commit: Arnaldo
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Yes, thought of doing that. Unfortunately it was sent directly from git, so I do not have a copy of the message that was sent. MV On 03/09/18 14:15, Kim Phillips wrote: On Fri, 9 Mar 2018 13:49:50 -0500 Martin Vuillewrote: For https://patchwork.kernel.org/patch/10211483/, I'm not sure how to go about doing a reply to all. Hit reply-all from the copy in your Sent folder. Kim -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Yes, thought of doing that. Unfortunately it was sent directly from git, so I do not have a copy of the message that was sent. MV On 03/09/18 14:15, Kim Phillips wrote: On Fri, 9 Mar 2018 13:49:50 -0500 Martin Vuille wrote: For https://patchwork.kernel.org/patch/10211483/, I'm not sure how to go about doing a reply to all. Hit reply-all from the copy in your Sent folder. Kim -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
On Fri, 9 Mar 2018 13:49:50 -0500 Martin Vuillewrote: > For https://patchwork.kernel.org/patch/10211483/, I'm not sure how to go > about doing a reply to all. Hit reply-all from the copy in your Sent folder. Kim
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
On Fri, 9 Mar 2018 13:49:50 -0500 Martin Vuille wrote: > For https://patchwork.kernel.org/patch/10211483/, I'm not sure how to go > about doing a reply to all. Hit reply-all from the copy in your Sent folder. Kim
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Hi, I made two other submissions that may also have been overlooked: https://patchwork.kernel.org/patch/10211401/ -- This one has the S-o-B https://patchwork.kernel.org/patch/10211473/ -- RFC, was looking for comments, has the S-o-B For https://patchwork.kernel.org/patch/10211483/, I'm not sure how to go about doing a reply to all. I had some email problems and was cut-off from the list for a while. MV On 03/09/18 13:24, Arnaldo Carvalho de Melo wrote: Em Fri, Mar 09, 2018 at 12:07:20PM -0600, Kim Phillips escreveu: On Fri, 9 Mar 2018 12:06:27 -0300 Arnaldo Carvalho de Melowrote: Hi Arnaldo, Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: Based on prior work: https://lkml.org/lkml/2014/5/6/395 Thanks, looks good, applying. Jean, is everything ok with you on this? By now your email to Jean should have bounced with "The email account that you tried to reach does not exist." Removing Jean from Cc. It seems like you're applying patches. There are a couple that have slipped through the cracks: Can you please take a look at applying them? - "perf tools: Fixing uninitialised variable" https://patchwork.kernel.org/patch/10179381/ [acme@jouet perf]$ git tag --contains d2785de15f1bd42d613d56bbac5a007e7293b874 perf-core-for-mingo-4.17-20180216 commit d2785de15f1bd42d613d56bbac5a007e7293b874 Author: Mathieu Poirier AuthorDate: Mon Feb 12 13:32:37 2018 -0700 Commit: Arnaldo Carvalho de Melo CommitDate: Fri Feb 16 14:55:40 2018 -0300 perf auxtrace arm: Fixing uninitialised variable When working natively on arm64 the compiler gets pesky and complains that variable 'i' is uninitialised, something that breaks the compilation. Here no further checks are needed since variable 'found_spe' can only be true if variable 'i' has been initialised as part of the for loop. Signed-off-by: Mathieu Poirier Cc: Alexander Shishkin Cc: Jin Yao Cc: Namhyung Kim Cc: Peter Zijlstra Cc: linux-arm-ker...@lists.infradead.org Link: http://lkml.kernel.org/r/1518467557-18505-4-git-send-email-mathieu.poir...@linaro.org Signed-off-by: Arnaldo Carvalho de Melo diff --git a/tools/perf/arch/arm/util/auxtrace.c b/tools/perf/arch/arm/util/auxtrace.c index 2323581b157d..fa639e3e52ac 100644 --- a/tools/perf/arch/arm/util/auxtrace.c +++ b/tools/perf/arch/arm/util/auxtrace.c @@ -68,7 +68,7 @@ struct auxtrace_record bool found_spe = false; static struct perf_pmu **arm_spe_pmus = NULL; static int nr_spes = 0; - int i; + int i = 0; - "perf unwind: Report error from dwfl_attach_state" https://patchwork.kernel.org/patch/10211483/ [Martin, I guess it would help if you replied-all that patch and added your signed-off-by.] Right, the S-o-B is needed - "perf unwind: Unwind with libdw doesn't take symfs into account" https://patchwork.kernel.org/patch/10211599/ This one has the S-o-B, applying, Jiri, holler if you disagree, - Arnaldo Thanks, Kim -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Hi, I made two other submissions that may also have been overlooked: https://patchwork.kernel.org/patch/10211401/ -- This one has the S-o-B https://patchwork.kernel.org/patch/10211473/ -- RFC, was looking for comments, has the S-o-B For https://patchwork.kernel.org/patch/10211483/, I'm not sure how to go about doing a reply to all. I had some email problems and was cut-off from the list for a while. MV On 03/09/18 13:24, Arnaldo Carvalho de Melo wrote: Em Fri, Mar 09, 2018 at 12:07:20PM -0600, Kim Phillips escreveu: On Fri, 9 Mar 2018 12:06:27 -0300 Arnaldo Carvalho de Melo wrote: Hi Arnaldo, Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: Based on prior work: https://lkml.org/lkml/2014/5/6/395 Thanks, looks good, applying. Jean, is everything ok with you on this? By now your email to Jean should have bounced with "The email account that you tried to reach does not exist." Removing Jean from Cc. It seems like you're applying patches. There are a couple that have slipped through the cracks: Can you please take a look at applying them? - "perf tools: Fixing uninitialised variable" https://patchwork.kernel.org/patch/10179381/ [acme@jouet perf]$ git tag --contains d2785de15f1bd42d613d56bbac5a007e7293b874 perf-core-for-mingo-4.17-20180216 commit d2785de15f1bd42d613d56bbac5a007e7293b874 Author: Mathieu Poirier AuthorDate: Mon Feb 12 13:32:37 2018 -0700 Commit: Arnaldo Carvalho de Melo CommitDate: Fri Feb 16 14:55:40 2018 -0300 perf auxtrace arm: Fixing uninitialised variable When working natively on arm64 the compiler gets pesky and complains that variable 'i' is uninitialised, something that breaks the compilation. Here no further checks are needed since variable 'found_spe' can only be true if variable 'i' has been initialised as part of the for loop. Signed-off-by: Mathieu Poirier Cc: Alexander Shishkin Cc: Jin Yao Cc: Namhyung Kim Cc: Peter Zijlstra Cc: linux-arm-ker...@lists.infradead.org Link: http://lkml.kernel.org/r/1518467557-18505-4-git-send-email-mathieu.poir...@linaro.org Signed-off-by: Arnaldo Carvalho de Melo diff --git a/tools/perf/arch/arm/util/auxtrace.c b/tools/perf/arch/arm/util/auxtrace.c index 2323581b157d..fa639e3e52ac 100644 --- a/tools/perf/arch/arm/util/auxtrace.c +++ b/tools/perf/arch/arm/util/auxtrace.c @@ -68,7 +68,7 @@ struct auxtrace_record bool found_spe = false; static struct perf_pmu **arm_spe_pmus = NULL; static int nr_spes = 0; - int i; + int i = 0; - "perf unwind: Report error from dwfl_attach_state" https://patchwork.kernel.org/patch/10211483/ [Martin, I guess it would help if you replied-all that patch and added your signed-off-by.] Right, the S-o-B is needed - "perf unwind: Unwind with libdw doesn't take symfs into account" https://patchwork.kernel.org/patch/10211599/ This one has the S-o-B, applying, Jiri, holler if you disagree, - Arnaldo Thanks, Kim -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Em Fri, Mar 09, 2018 at 12:07:20PM -0600, Kim Phillips escreveu: > On Fri, 9 Mar 2018 12:06:27 -0300 > Arnaldo Carvalho de Melowrote: > > Hi Arnaldo, > > > Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: > > > Based on prior work: > > > > > > https://lkml.org/lkml/2014/5/6/395 > > > > Thanks, looks good, applying. > > > > Jean, is everything ok with you on this? > > By now your email to Jean should have bounced with "The email account > that you tried to reach does not exist." Removing Jean from Cc. > > It seems like you're applying patches. There are a couple that have > slipped through the cracks: Can you please take a look at applying them? > > - "perf tools: Fixing uninitialised variable" > https://patchwork.kernel.org/patch/10179381/ [acme@jouet perf]$ git tag --contains d2785de15f1bd42d613d56bbac5a007e7293b874 perf-core-for-mingo-4.17-20180216 commit d2785de15f1bd42d613d56bbac5a007e7293b874 Author: Mathieu Poirier AuthorDate: Mon Feb 12 13:32:37 2018 -0700 Commit: Arnaldo Carvalho de Melo CommitDate: Fri Feb 16 14:55:40 2018 -0300 perf auxtrace arm: Fixing uninitialised variable When working natively on arm64 the compiler gets pesky and complains that variable 'i' is uninitialised, something that breaks the compilation. Here no further checks are needed since variable 'found_spe' can only be true if variable 'i' has been initialised as part of the for loop. Signed-off-by: Mathieu Poirier Cc: Alexander Shishkin Cc: Jin Yao Cc: Namhyung Kim Cc: Peter Zijlstra Cc: linux-arm-ker...@lists.infradead.org Link: http://lkml.kernel.org/r/1518467557-18505-4-git-send-email-mathieu.poir...@linaro.org Signed-off-by: Arnaldo Carvalho de Melo diff --git a/tools/perf/arch/arm/util/auxtrace.c b/tools/perf/arch/arm/util/auxtrace.c index 2323581b157d..fa639e3e52ac 100644 --- a/tools/perf/arch/arm/util/auxtrace.c +++ b/tools/perf/arch/arm/util/auxtrace.c @@ -68,7 +68,7 @@ struct auxtrace_record bool found_spe = false; static struct perf_pmu **arm_spe_pmus = NULL; static int nr_spes = 0; - int i; + int i = 0; > - "perf unwind: Report error from dwfl_attach_state" > https://patchwork.kernel.org/patch/10211483/ > [Martin, I guess it would help if you replied-all that patch and >added your signed-off-by.] Right, the S-o-B is needed > - "perf unwind: Unwind with libdw doesn't take symfs into account" > https://patchwork.kernel.org/patch/10211599/ This one has the S-o-B, applying, Jiri, holler if you disagree, - Arnaldo > Thanks, > > Kim
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Em Fri, Mar 09, 2018 at 12:07:20PM -0600, Kim Phillips escreveu: > On Fri, 9 Mar 2018 12:06:27 -0300 > Arnaldo Carvalho de Melo wrote: > > Hi Arnaldo, > > > Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: > > > Based on prior work: > > > > > > https://lkml.org/lkml/2014/5/6/395 > > > > Thanks, looks good, applying. > > > > Jean, is everything ok with you on this? > > By now your email to Jean should have bounced with "The email account > that you tried to reach does not exist." Removing Jean from Cc. > > It seems like you're applying patches. There are a couple that have > slipped through the cracks: Can you please take a look at applying them? > > - "perf tools: Fixing uninitialised variable" > https://patchwork.kernel.org/patch/10179381/ [acme@jouet perf]$ git tag --contains d2785de15f1bd42d613d56bbac5a007e7293b874 perf-core-for-mingo-4.17-20180216 commit d2785de15f1bd42d613d56bbac5a007e7293b874 Author: Mathieu Poirier AuthorDate: Mon Feb 12 13:32:37 2018 -0700 Commit: Arnaldo Carvalho de Melo CommitDate: Fri Feb 16 14:55:40 2018 -0300 perf auxtrace arm: Fixing uninitialised variable When working natively on arm64 the compiler gets pesky and complains that variable 'i' is uninitialised, something that breaks the compilation. Here no further checks are needed since variable 'found_spe' can only be true if variable 'i' has been initialised as part of the for loop. Signed-off-by: Mathieu Poirier Cc: Alexander Shishkin Cc: Jin Yao Cc: Namhyung Kim Cc: Peter Zijlstra Cc: linux-arm-ker...@lists.infradead.org Link: http://lkml.kernel.org/r/1518467557-18505-4-git-send-email-mathieu.poir...@linaro.org Signed-off-by: Arnaldo Carvalho de Melo diff --git a/tools/perf/arch/arm/util/auxtrace.c b/tools/perf/arch/arm/util/auxtrace.c index 2323581b157d..fa639e3e52ac 100644 --- a/tools/perf/arch/arm/util/auxtrace.c +++ b/tools/perf/arch/arm/util/auxtrace.c @@ -68,7 +68,7 @@ struct auxtrace_record bool found_spe = false; static struct perf_pmu **arm_spe_pmus = NULL; static int nr_spes = 0; - int i; + int i = 0; > - "perf unwind: Report error from dwfl_attach_state" > https://patchwork.kernel.org/patch/10211483/ > [Martin, I guess it would help if you replied-all that patch and >added your signed-off-by.] Right, the S-o-B is needed > - "perf unwind: Unwind with libdw doesn't take symfs into account" > https://patchwork.kernel.org/patch/10211599/ This one has the S-o-B, applying, Jiri, holler if you disagree, - Arnaldo > Thanks, > > Kim
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
On Fri, 9 Mar 2018 12:06:27 -0300 Arnaldo Carvalho de Melowrote: Hi Arnaldo, > Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: > > Based on prior work: > > > > https://lkml.org/lkml/2014/5/6/395 > > Thanks, looks good, applying. > > Jean, is everything ok with you on this? By now your email to Jean should have bounced with "The email account that you tried to reach does not exist." Removing Jean from Cc. It seems like you're applying patches. There are a couple that have slipped through the cracks: Can you please take a look at applying them? - "perf tools: Fixing uninitialised variable" https://patchwork.kernel.org/patch/10179381/ - "perf unwind: Report error from dwfl_attach_state" https://patchwork.kernel.org/patch/10211483/ [Martin, I guess it would help if you replied-all that patch and added your signed-off-by.] - "perf unwind: Unwind with libdw doesn't take symfs into account" https://patchwork.kernel.org/patch/10211599/ Thanks, Kim
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
On Fri, 9 Mar 2018 12:06:27 -0300 Arnaldo Carvalho de Melo wrote: Hi Arnaldo, > Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: > > Based on prior work: > > > > https://lkml.org/lkml/2014/5/6/395 > > Thanks, looks good, applying. > > Jean, is everything ok with you on this? By now your email to Jean should have bounced with "The email account that you tried to reach does not exist." Removing Jean from Cc. It seems like you're applying patches. There are a couple that have slipped through the cracks: Can you please take a look at applying them? - "perf tools: Fixing uninitialised variable" https://patchwork.kernel.org/patch/10179381/ - "perf unwind: Report error from dwfl_attach_state" https://patchwork.kernel.org/patch/10211483/ [Martin, I guess it would help if you replied-all that patch and added your signed-off-by.] - "perf unwind: Unwind with libdw doesn't take symfs into account" https://patchwork.kernel.org/patch/10211599/ Thanks, Kim
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: > Based on prior work: > > https://lkml.org/lkml/2014/5/6/395 Thanks, looks good, applying. Jean, is everything ok with you on this? - Arnaldo > and how other arches add libdw unwind support. Includes support for > running the unwind test, e.g., on a system with only elfutils' libdw > 0.170, the test now runs, and successfully: > > $ ./perf test unwind > 56: Test dwarf unwind : Ok > > Reported-by: Christian Hansen> Originally-by: Jean Pihet > Cc: Peter Zijlstra > Cc: Ingo Molnar > Cc: Arnaldo Carvalho de Melo > Cc: Alexander Shishkin > Cc: Jiri Olsa > Cc: Namhyung Kim > Cc: linux-kernel@vger.kernel.org > Cc: linux-perf-us...@vger.kernel.org > Signed-off-by: Kim Phillips > --- > tools/perf/Makefile.config | 2 +- > tools/perf/arch/arm64/include/arch-tests.h | 12 ++ > tools/perf/arch/arm64/tests/Build | 3 ++ > tools/perf/arch/arm64/tests/arch-tests.c | 16 > tools/perf/arch/arm64/util/Build | 1 + > tools/perf/arch/arm64/util/unwind-libdw.c | 60 > ++ > 6 files changed, 93 insertions(+), 1 deletion(-) > create mode 100644 tools/perf/arch/arm64/include/arch-tests.h > create mode 100644 tools/perf/arch/arm64/tests/arch-tests.c > create mode 100644 tools/perf/arch/arm64/util/unwind-libdw.c > > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config > index 89cb2a36b8ff..98ff73648b51 100644 > --- a/tools/perf/Makefile.config > +++ b/tools/perf/Makefile.config > @@ -75,7 +75,7 @@ endif > # Disable it on all other architectures in case libdw unwind > # support is detected in system. Add supported architectures > # to the check. > -ifneq ($(SRCARCH),$(filter $(SRCARCH),x86 arm powerpc s390)) > +ifneq ($(SRCARCH),$(filter $(SRCARCH),x86 arm arm64 powerpc s390)) >NO_LIBDW_DWARF_UNWIND := 1 > endif > > diff --git a/tools/perf/arch/arm64/include/arch-tests.h > b/tools/perf/arch/arm64/include/arch-tests.h > new file mode 100644 > index ..90ec4c8cb880 > --- /dev/null > +++ b/tools/perf/arch/arm64/include/arch-tests.h > @@ -0,0 +1,12 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#ifndef ARCH_TESTS_H > +#define ARCH_TESTS_H > + > +#ifdef HAVE_DWARF_UNWIND_SUPPORT > +struct thread; > +struct perf_sample; > +#endif > + > +extern struct test arch_tests[]; > + > +#endif > diff --git a/tools/perf/arch/arm64/tests/Build > b/tools/perf/arch/arm64/tests/Build > index b30eff9bcc83..ca5630e73474 100644 > --- a/tools/perf/arch/arm64/tests/Build > +++ b/tools/perf/arch/arm64/tests/Build > @@ -1,2 +1,5 @@ > libperf-y += regs_load.o > libperf-y += dwarf-unwind.o > + > +libperf-y += arch-tests.o > + > diff --git a/tools/perf/arch/arm64/tests/arch-tests.c > b/tools/perf/arch/arm64/tests/arch-tests.c > new file mode 100644 > index ..5b1543c98022 > --- /dev/null > +++ b/tools/perf/arch/arm64/tests/arch-tests.c > @@ -0,0 +1,16 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include > +#include "tests/tests.h" > +#include "arch-tests.h" > + > +struct test arch_tests[] = { > +#ifdef HAVE_DWARF_UNWIND_SUPPORT > + { > + .desc = "DWARF unwind", > + .func = test__dwarf_unwind, > + }, > +#endif > + { > + .func = NULL, > + }, > +}; > diff --git a/tools/perf/arch/arm64/util/Build > b/tools/perf/arch/arm64/util/Build > index c0b8dfef98ba..68f8a8eb3ad0 100644 > --- a/tools/perf/arch/arm64/util/Build > +++ b/tools/perf/arch/arm64/util/Build > @@ -2,6 +2,7 @@ libperf-y += header.o > libperf-y += sym-handling.o > libperf-$(CONFIG_DWARF) += dwarf-regs.o > libperf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o > +libperf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o > > libperf-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \ > ../../arm/util/auxtrace.o \ > diff --git a/tools/perf/arch/arm64/util/unwind-libdw.c > b/tools/perf/arch/arm64/util/unwind-libdw.c > new file mode 100644 > index ..7623d85e77f3 > --- /dev/null > +++ b/tools/perf/arch/arm64/util/unwind-libdw.c > @@ -0,0 +1,60 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include > +#include "../../util/unwind-libdw.h" > +#include "../../util/perf_regs.h" > +#include "../../util/event.h" > + > +bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg) > +{ > + struct unwind_info *ui = arg; > + struct regs_dump *user_regs = >sample->user_regs; > + Dwarf_Word dwarf_regs[PERF_REG_ARM64_MAX], dwarf_pc; > + > +#define REG(r) ({\ > + Dwarf_Word val = 0; \ > + perf_reg_value(, user_regs, PERF_REG_ARM64_##r);\ > + val;
Re: [PATCH] perf tools arm64: Add libdw DWARF post unwind support for ARM64
Em Thu, Mar 08, 2018 at 09:10:30PM -0600, Kim Phillips escreveu: > Based on prior work: > > https://lkml.org/lkml/2014/5/6/395 Thanks, looks good, applying. Jean, is everything ok with you on this? - Arnaldo > and how other arches add libdw unwind support. Includes support for > running the unwind test, e.g., on a system with only elfutils' libdw > 0.170, the test now runs, and successfully: > > $ ./perf test unwind > 56: Test dwarf unwind : Ok > > Reported-by: Christian Hansen > Originally-by: Jean Pihet > Cc: Peter Zijlstra > Cc: Ingo Molnar > Cc: Arnaldo Carvalho de Melo > Cc: Alexander Shishkin > Cc: Jiri Olsa > Cc: Namhyung Kim > Cc: linux-kernel@vger.kernel.org > Cc: linux-perf-us...@vger.kernel.org > Signed-off-by: Kim Phillips > --- > tools/perf/Makefile.config | 2 +- > tools/perf/arch/arm64/include/arch-tests.h | 12 ++ > tools/perf/arch/arm64/tests/Build | 3 ++ > tools/perf/arch/arm64/tests/arch-tests.c | 16 > tools/perf/arch/arm64/util/Build | 1 + > tools/perf/arch/arm64/util/unwind-libdw.c | 60 > ++ > 6 files changed, 93 insertions(+), 1 deletion(-) > create mode 100644 tools/perf/arch/arm64/include/arch-tests.h > create mode 100644 tools/perf/arch/arm64/tests/arch-tests.c > create mode 100644 tools/perf/arch/arm64/util/unwind-libdw.c > > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config > index 89cb2a36b8ff..98ff73648b51 100644 > --- a/tools/perf/Makefile.config > +++ b/tools/perf/Makefile.config > @@ -75,7 +75,7 @@ endif > # Disable it on all other architectures in case libdw unwind > # support is detected in system. Add supported architectures > # to the check. > -ifneq ($(SRCARCH),$(filter $(SRCARCH),x86 arm powerpc s390)) > +ifneq ($(SRCARCH),$(filter $(SRCARCH),x86 arm arm64 powerpc s390)) >NO_LIBDW_DWARF_UNWIND := 1 > endif > > diff --git a/tools/perf/arch/arm64/include/arch-tests.h > b/tools/perf/arch/arm64/include/arch-tests.h > new file mode 100644 > index ..90ec4c8cb880 > --- /dev/null > +++ b/tools/perf/arch/arm64/include/arch-tests.h > @@ -0,0 +1,12 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#ifndef ARCH_TESTS_H > +#define ARCH_TESTS_H > + > +#ifdef HAVE_DWARF_UNWIND_SUPPORT > +struct thread; > +struct perf_sample; > +#endif > + > +extern struct test arch_tests[]; > + > +#endif > diff --git a/tools/perf/arch/arm64/tests/Build > b/tools/perf/arch/arm64/tests/Build > index b30eff9bcc83..ca5630e73474 100644 > --- a/tools/perf/arch/arm64/tests/Build > +++ b/tools/perf/arch/arm64/tests/Build > @@ -1,2 +1,5 @@ > libperf-y += regs_load.o > libperf-y += dwarf-unwind.o > + > +libperf-y += arch-tests.o > + > diff --git a/tools/perf/arch/arm64/tests/arch-tests.c > b/tools/perf/arch/arm64/tests/arch-tests.c > new file mode 100644 > index ..5b1543c98022 > --- /dev/null > +++ b/tools/perf/arch/arm64/tests/arch-tests.c > @@ -0,0 +1,16 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include > +#include "tests/tests.h" > +#include "arch-tests.h" > + > +struct test arch_tests[] = { > +#ifdef HAVE_DWARF_UNWIND_SUPPORT > + { > + .desc = "DWARF unwind", > + .func = test__dwarf_unwind, > + }, > +#endif > + { > + .func = NULL, > + }, > +}; > diff --git a/tools/perf/arch/arm64/util/Build > b/tools/perf/arch/arm64/util/Build > index c0b8dfef98ba..68f8a8eb3ad0 100644 > --- a/tools/perf/arch/arm64/util/Build > +++ b/tools/perf/arch/arm64/util/Build > @@ -2,6 +2,7 @@ libperf-y += header.o > libperf-y += sym-handling.o > libperf-$(CONFIG_DWARF) += dwarf-regs.o > libperf-$(CONFIG_LOCAL_LIBUNWIND) += unwind-libunwind.o > +libperf-$(CONFIG_LIBDW_DWARF_UNWIND) += unwind-libdw.o > > libperf-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \ > ../../arm/util/auxtrace.o \ > diff --git a/tools/perf/arch/arm64/util/unwind-libdw.c > b/tools/perf/arch/arm64/util/unwind-libdw.c > new file mode 100644 > index ..7623d85e77f3 > --- /dev/null > +++ b/tools/perf/arch/arm64/util/unwind-libdw.c > @@ -0,0 +1,60 @@ > +// SPDX-License-Identifier: GPL-2.0 > +#include > +#include "../../util/unwind-libdw.h" > +#include "../../util/perf_regs.h" > +#include "../../util/event.h" > + > +bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg) > +{ > + struct unwind_info *ui = arg; > + struct regs_dump *user_regs = >sample->user_regs; > + Dwarf_Word dwarf_regs[PERF_REG_ARM64_MAX], dwarf_pc; > + > +#define REG(r) ({\ > + Dwarf_Word val = 0; \ > + perf_reg_value(, user_regs, PERF_REG_ARM64_##r);\ > + val;\ > +}) > + > + dwarf_regs[0] = REG(X0); > + dwarf_regs[1] = REG(X1); > + dwarf_regs[2] = REG(X2); > + dwarf_regs[3] = REG(X3); > +