* [PATCH] perf report: Fix no libunwind compiled warning break s390 issue
@ 2020-01-07 19:17 Jin Yao
2020-01-08 10:27 ` Jiri Olsa
2020-01-20 8:27 ` [tip: perf/core] " tip-bot2 for Jin Yao
0 siblings, 2 replies; 5+ messages in thread
From: Jin Yao @ 2020-01-07 19:17 UTC (permalink / raw)
To: acme, jolsa, peterz, mingo, alexander.shishkin
Cc: Linux-kernel, ak, kan.liang, yao.jin, tmricht, Jin Yao
Commit 800d3f561659 ("perf report: Add warning when libunwind not compiled in")
breaks the s390 platform. S390 uses libdw-dwarf-unwind for call chain
unwinding and had no support for libunwind.
So the warning "Please install libunwind development packages during the perf build."
caused the confusion even if the call-graph is displayed correctly.
This patch adds checking for HAVE_DWARF_SUPPORT, which is set when
libdw-dwarf-unwind is compiled in.
Fixes: 800d3f561659 ("perf report: Add warning when libunwind not compiled in")
Reviewed-by: Thomas Richter <tmricht@linux.ibm.com>
Tested-by: Thomas Richter <tmricht@linux.ibm.com>
Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
---
tools/perf/builtin-report.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index de988589d99b..66cd97cc8b92 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -412,10 +412,10 @@ static int report__setup_sample_type(struct report *rep)
PERF_SAMPLE_BRANCH_ANY))
rep->nonany_branch_mode = true;
-#ifndef HAVE_LIBUNWIND_SUPPORT
+#if !defined(HAVE_LIBUNWIND_SUPPORT) && !defined(HAVE_DWARF_SUPPORT)
if (dwarf_callchain_users) {
- ui__warning("Please install libunwind development packages "
- "during the perf build.\n");
+ ui__warning("Please install libunwind or libdw "
+ "development packages during the perf build.\n");
}
#endif
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] perf report: Fix no libunwind compiled warning break s390 issue 2020-01-07 19:17 [PATCH] perf report: Fix no libunwind compiled warning break s390 issue Jin Yao @ 2020-01-08 10:27 ` Jiri Olsa 2020-01-08 13:02 ` Jin, Yao 2020-01-20 8:27 ` [tip: perf/core] " tip-bot2 for Jin Yao 1 sibling, 1 reply; 5+ messages in thread From: Jiri Olsa @ 2020-01-08 10:27 UTC (permalink / raw) To: Jin Yao Cc: acme, jolsa, peterz, mingo, alexander.shishkin, Linux-kernel, ak, kan.liang, yao.jin, tmricht On Wed, Jan 08, 2020 at 03:17:45AM +0800, Jin Yao wrote: > Commit 800d3f561659 ("perf report: Add warning when libunwind not compiled in") > breaks the s390 platform. S390 uses libdw-dwarf-unwind for call chain > unwinding and had no support for libunwind. > > So the warning "Please install libunwind development packages during the perf build." > caused the confusion even if the call-graph is displayed correctly. > > This patch adds checking for HAVE_DWARF_SUPPORT, which is set when > libdw-dwarf-unwind is compiled in. > > Fixes: 800d3f561659 ("perf report: Add warning when libunwind not compiled in") > > Reviewed-by: Thomas Richter <tmricht@linux.ibm.com> > Tested-by: Thomas Richter <tmricht@linux.ibm.com> > Signed-off-by: Jin Yao <yao.jin@linux.intel.com> perfect, I have the same change prepared for sending, but it's together with making libdw default dwarf unwinder, which I'm still not sure we want to do, so it all got posponed ;-) would you guys be ok with that? with having libdw picked up as default dwarf unwinder.. for the patch: Acked-by: Jiri Olsa <jolsa@redhat.com> thanks, jirka > --- > tools/perf/builtin-report.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c > index de988589d99b..66cd97cc8b92 100644 > --- a/tools/perf/builtin-report.c > +++ b/tools/perf/builtin-report.c > @@ -412,10 +412,10 @@ static int report__setup_sample_type(struct report *rep) > PERF_SAMPLE_BRANCH_ANY)) > rep->nonany_branch_mode = true; > > -#ifndef HAVE_LIBUNWIND_SUPPORT > +#if !defined(HAVE_LIBUNWIND_SUPPORT) && !defined(HAVE_DWARF_SUPPORT) > if (dwarf_callchain_users) { > - ui__warning("Please install libunwind development packages " > - "during the perf build.\n"); > + ui__warning("Please install libunwind or libdw " > + "development packages during the perf build.\n"); > } > #endif > > -- > 2.17.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] perf report: Fix no libunwind compiled warning break s390 issue 2020-01-08 10:27 ` Jiri Olsa @ 2020-01-08 13:02 ` Jin, Yao 2020-01-08 14:35 ` Jiri Olsa 0 siblings, 1 reply; 5+ messages in thread From: Jin, Yao @ 2020-01-08 13:02 UTC (permalink / raw) To: Jiri Olsa Cc: acme, jolsa, peterz, mingo, alexander.shishkin, Linux-kernel, ak, kan.liang, yao.jin, tmricht On 1/8/2020 6:27 PM, Jiri Olsa wrote: > On Wed, Jan 08, 2020 at 03:17:45AM +0800, Jin Yao wrote: >> Commit 800d3f561659 ("perf report: Add warning when libunwind not compiled in") >> breaks the s390 platform. S390 uses libdw-dwarf-unwind for call chain >> unwinding and had no support for libunwind. >> >> So the warning "Please install libunwind development packages during the perf build." >> caused the confusion even if the call-graph is displayed correctly. >> >> This patch adds checking for HAVE_DWARF_SUPPORT, which is set when >> libdw-dwarf-unwind is compiled in. >> >> Fixes: 800d3f561659 ("perf report: Add warning when libunwind not compiled in") >> >> Reviewed-by: Thomas Richter <tmricht@linux.ibm.com> >> Tested-by: Thomas Richter <tmricht@linux.ibm.com> >> Signed-off-by: Jin Yao <yao.jin@linux.intel.com> > > perfect, I have the same change prepared for sending, but it's > together with making libdw default dwarf unwinder, which I'm still > not sure we want to do, so it all got posponed ;-) > > would you guys be ok with that? with having libdw picked up as default dwarf unwinder.. > I've roughly compared the performance between libunwind-dev and libdw-dev. While in my test (on KBL desktop), for the same perf report command-line, it looks the perf built with libunwind-dev is much faster than the perf built with libdw-dev. The command line is as following: perf record --call-graph dwarf ./div perf report -g graph --stdio Maybe you give it a try. :) > for the patch: > > Acked-by: Jiri Olsa <jolsa@redhat.com> > Thanks for reviewing the patch. Thanks Jin Yao > thanks, > jirka > >> --- >> tools/perf/builtin-report.c | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c >> index de988589d99b..66cd97cc8b92 100644 >> --- a/tools/perf/builtin-report.c >> +++ b/tools/perf/builtin-report.c >> @@ -412,10 +412,10 @@ static int report__setup_sample_type(struct report *rep) >> PERF_SAMPLE_BRANCH_ANY)) >> rep->nonany_branch_mode = true; >> >> -#ifndef HAVE_LIBUNWIND_SUPPORT >> +#if !defined(HAVE_LIBUNWIND_SUPPORT) && !defined(HAVE_DWARF_SUPPORT) >> if (dwarf_callchain_users) { >> - ui__warning("Please install libunwind development packages " >> - "during the perf build.\n"); >> + ui__warning("Please install libunwind or libdw " >> + "development packages during the perf build.\n"); >> } >> #endif >> >> -- >> 2.17.1 >> > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] perf report: Fix no libunwind compiled warning break s390 issue 2020-01-08 13:02 ` Jin, Yao @ 2020-01-08 14:35 ` Jiri Olsa 0 siblings, 0 replies; 5+ messages in thread From: Jiri Olsa @ 2020-01-08 14:35 UTC (permalink / raw) To: Jin, Yao Cc: acme, jolsa, peterz, mingo, alexander.shishkin, Linux-kernel, ak, kan.liang, yao.jin, tmricht On Wed, Jan 08, 2020 at 09:02:02PM +0800, Jin, Yao wrote: > > > On 1/8/2020 6:27 PM, Jiri Olsa wrote: > > On Wed, Jan 08, 2020 at 03:17:45AM +0800, Jin Yao wrote: > > > Commit 800d3f561659 ("perf report: Add warning when libunwind not compiled in") > > > breaks the s390 platform. S390 uses libdw-dwarf-unwind for call chain > > > unwinding and had no support for libunwind. > > > > > > So the warning "Please install libunwind development packages during the perf build." > > > caused the confusion even if the call-graph is displayed correctly. > > > > > > This patch adds checking for HAVE_DWARF_SUPPORT, which is set when > > > libdw-dwarf-unwind is compiled in. > > > > > > Fixes: 800d3f561659 ("perf report: Add warning when libunwind not compiled in") > > > > > > Reviewed-by: Thomas Richter <tmricht@linux.ibm.com> > > > Tested-by: Thomas Richter <tmricht@linux.ibm.com> > > > Signed-off-by: Jin Yao <yao.jin@linux.intel.com> > > > > perfect, I have the same change prepared for sending, but it's > > together with making libdw default dwarf unwinder, which I'm still > > not sure we want to do, so it all got posponed ;-) > > > would you guys be ok with that? with having libdw picked up as > default dwarf unwinder.. > > > > I've roughly compared the performance between libunwind-dev and libdw-dev. > While in my test (on KBL desktop), for the same perf report command-line, it > looks the perf built with libunwind-dev is much faster than the perf built > with libdw-dev. ok, that's valid point.. the reason we start discussing it, was that libunwind does not seem to support compressed ELF debug sections, which works via libdw unwind > > The command line is as following: > > perf record --call-graph dwarf ./div > perf report -g graph --stdio I'll try to do some profiling and check with outr contact in libdw to comment/check on that thanks, jirka ^ permalink raw reply [flat|nested] 5+ messages in thread
* [tip: perf/core] perf report: Fix no libunwind compiled warning break s390 issue 2020-01-07 19:17 [PATCH] perf report: Fix no libunwind compiled warning break s390 issue Jin Yao 2020-01-08 10:27 ` Jiri Olsa @ 2020-01-20 8:27 ` tip-bot2 for Jin Yao 1 sibling, 0 replies; 5+ messages in thread From: tip-bot2 for Jin Yao @ 2020-01-20 8:27 UTC (permalink / raw) To: linux-tip-commits Cc: Jin Yao, Thomas Richter, Jiri Olsa, Alexander Shishkin, Andi Kleen, Jin Yao, Kan Liang, Peter Zijlstra, Arnaldo Carvalho de Melo, x86, LKML The following commit has been merged into the perf/core branch of tip: Commit-ID: c3314a74f86dc00827e0945c8e5039fc3aebaa3c Gitweb: https://git.kernel.org/tip/c3314a74f86dc00827e0945c8e5039fc3aebaa3c Author: Jin Yao <yao.jin@linux.intel.com> AuthorDate: Wed, 08 Jan 2020 03:17:45 +08:00 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitterDate: Tue, 14 Jan 2020 12:02:19 -03:00 perf report: Fix no libunwind compiled warning break s390 issue Commit 800d3f561659 ("perf report: Add warning when libunwind not compiled in") breaks the s390 platform. S390 uses libdw-dwarf-unwind for call chain unwinding and had no support for libunwind. So the warning "Please install libunwind development packages during the perf build." caused the confusion even if the call-graph is displayed correctly. This patch adds checking for HAVE_DWARF_SUPPORT, which is set when libdw-dwarf-unwind is compiled in. Fixes: 800d3f561659 ("perf report: Add warning when libunwind not compiled in") Signed-off-by: Jin Yao <yao.jin@linux.intel.com> Reviewed-by: Thomas Richter <tmricht@linux.ibm.com> Tested-by: Thomas Richter <tmricht@linux.ibm.com> Acked-by: Jiri Olsa <jolsa@redhat.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jin Yao <yao.jin@intel.com> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lore.kernel.org/lkml/20200107191745.18415-1-yao.jin@linux.intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/builtin-report.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 627bb65..9483b3f 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -412,10 +412,10 @@ static int report__setup_sample_type(struct report *rep) PERF_SAMPLE_BRANCH_ANY)) rep->nonany_branch_mode = true; -#ifndef HAVE_LIBUNWIND_SUPPORT +#if !defined(HAVE_LIBUNWIND_SUPPORT) && !defined(HAVE_DWARF_SUPPORT) if (dwarf_callchain_users) { - ui__warning("Please install libunwind development packages " - "during the perf build.\n"); + ui__warning("Please install libunwind or libdw " + "development packages during the perf build.\n"); } #endif ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-01-20 8:27 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-01-07 19:17 [PATCH] perf report: Fix no libunwind compiled warning break s390 issue Jin Yao 2020-01-08 10:27 ` Jiri Olsa 2020-01-08 13:02 ` Jin, Yao 2020-01-08 14:35 ` Jiri Olsa 2020-01-20 8:27 ` [tip: perf/core] " tip-bot2 for Jin Yao
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox