linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Howard Chu <howardchu95@gmail.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Ian Rogers <irogers@google.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-perf-users@vger.kernel.org,
	Dmitry Vyukov <dvyukov@google.com>
Subject: Re: [perf top] annotation doesn't work, libunwind doesn't seem to be working either
Date: Thu, 10 Apr 2025 08:24:52 +0200	[thread overview]
Message-ID: <Z_dkNDj9EPFwPqq1@gmail.com> (raw)
In-Reply-To: <Z_chCGYb1_hMS1F9@x1>


* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:

> On Wed, Apr 09, 2025 at 11:26:10PM +0200, Ingo Molnar wrote:
> > * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > > Using 't' to zoom into a thread and then LEFT to zoom out works, ditto
> > > for 'd' + LEFT, 'k' (zoom into the kernel) + LEFT its just 'm' + thread
> > > or ENTER + Zoom into Thread that isn't working...
> 
> > > Not even that, there is something subtle, investigating.
> 
> > > But as a suggestion, pressing 't' zooms into a thread, pressing it again
> > > zooms out of that thread, rinse repeat.
> 
> > Indeed, this works it around. It's not *that* easy though: 't' goes 
> > into thread view, but has to be pressed another 3(?) times to get back 
> > to the previous non-threaded view again.
> 
> > > Ditto for 'd' for DSO and 'k' for the kernel DSO, 'S' for a CPU socket
> > > (Kan Liang implemented this, but not for 'c' CPU, will try to add that).
> 
> > > Anyway, back to the bug.
>  
> > Thanks for having a look! :)
> 
> I guess I found it, another one-liner (well, two if you count removing a
> comment line) with a long explanation, see below.
> 
> There is a tidy up patch before this, all is at:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf-annotate+build

Wow, that's quite a lot!

So, I can confirm that the build warning is gone - as the libunwind 
entry is gone:

 Auto-detecting system features:
 ...                                   libdw: [ on  ]
 ...                                   glibc: [ on  ]
 ...                                  libelf: [ on  ]
 ...                                 libnuma: [ on  ]
 ...                  numa_num_possible_cpus: [ on  ]
 ...                                 libperl: [ on  ]
 ...                               libpython: [ on  ]
 ...                               libcrypto: [ on  ]
 ...                             libcapstone: [ on  ]
 ...                               llvm-perf: [ on  ]
 ...                                    zlib: [ on  ]
 ...                                    lzma: [ on  ]
 ...                               get_cpuid: [ on  ]
 ...                                     bpf: [ on  ]
 ...                                  libaio: [ on  ]
 ...                                 libzstd: [ on  ]

And there's this second round of auto-detection:

 Auto-detecting system features:
 ...                         clang-bpf-co-re: [ on  ]
 ...                                    llvm: [ on  ]
 ...                                  libcap: [ on  ]
 ...                                  libbfd: [ on  ]

which is all-green as well.

I still have these dependency warnings:

  Makefile.config:563: No elfutils/debuginfod.h found, no debuginfo server support, please install elfutils-debuginfod-client-devel or equivalent
  Makefile.config:1146: No openjdk development package found, please install JDK package, e.g. openjdk-8-jdk, java-1.8.0-openjdk-devel
  Makefile.config:1191: libtracefs is missing. Please install libtracefs-dev/libtracefs-devel

The libtracefs one was resolved via 'apt install libtracefs-dev', 
leaving two:

 Makefile.config:563: No elfutils/debuginfod.h found, no debuginfo server support, please install elfutils-debuginfod-client-devel or equivalent
 Makefile.config:1146: No openjdk development package found, please install JDK package, e.g. openjdk-8-jdk, java-1.8.0-openjdk-devel

I cannot resolve the openjdk dependency warning, despite installing a 
plethora of packages:

kepler:~/tip> dpkg -l | grep openjdk
rc  openjdk-14-jre-headless:amd64                               14.0.2+12-1                                         amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-17-jre:amd64                                        17.0.14+7-1~24.10                                   amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-17-jre-headless:amd64                               17.0.14+7-1~24.10                                   amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
rc  openjdk-18-jre-headless:amd64                               18.0.2+9-2ubuntu1                                   amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-21-jdk-headless:amd64                               21.0.6+7-1~24.10.1                                  amd64        OpenJDK Development Kit (JDK) (headless)
ii  openjdk-21-jre:amd64                                        21.0.6+7-1~24.10.1                                  amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-21-jre-headless:amd64                               21.0.6+7-1~24.10.1                                  amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-8-jdk:amd64                                         8u442-b06~us1-0ubuntu1~24.10                        amd64        OpenJDK Development Kit (JDK)
ii  openjdk-8-jdk-headless:amd64                                8u442-b06~us1-0ubuntu1~24.10                        amd64        OpenJDK Development Kit (JDK) (headless)
ii  openjdk-8-jre:amd64                                         8u442-b06~us1-0ubuntu1~24.10                        amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-8-jre-headless:amd64                                8u442-b06~us1-0ubuntu1~24.10                        amd64        OpenJDK Java runtime, using Hotspot JIT (headless)

And I managed to resolve the elfutils/debuginfod.h warning via an 
apt-file search and installing the libdebuginfod-dev package, the 
warning message should probably be updated via the patch further below 
that gives a more specific package name to install.

With that resolved, I now have only a single dependency failure left:

  Makefile.config:1146: No openjdk development package found, please install JDK package, e.g. openjdk-8-jdk, java-1.8.0-openjdk-devel

On the UI front:

 - I can confirm that the left-arrow now works intuitively wrt. context 
   zooming, thanks for implementing that!

 - Likewise, the Esc key suggested in the 'h' screen now works 
   intuitively as well.

 - When pressing an unbound key I now get a helpful message.

    - One small detail with the unbound key warning I noticed: it now 
      says "'l' key not associated, use 'h'/'?'/F1 to see actions!", but 
      pressing 'h' will only work after dismissing this window. It might 
      be a nice little extra UI tweak to allow 'h/?/F1' to jump to the 
      help window straight away from warning windows, instead of 
      requiring two keys to be pressed?

 - I also see that 'P' now works in a broader context as well, saving 
   the perf.hist.0 file.

    - A small observation with the 'P' key too: maybe the status line 
      at the bottom should update with the action performed? I only see 
      a small flash and the "Press '?' for help on key bindings" 
      message is reprinted.

Anyway, I'd say that the large majority of my TUI complaints were 
resolved by your changes, and I had no new problems, so for the
changes so far:

  Tested-by: Ingo Molnar <mingo@kernel.org>

Thanks,

	Ingo

=================================>

Signed-off-by: Ingo Molnar <mingo@kernel.org>

 tools/perf/Makefile.config | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 211eb88e6bd8..9f08a6e96b35 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -560,7 +560,7 @@ ifndef NO_LIBELF
       CFLAGS += -DHAVE_DEBUGINFOD_SUPPORT
       EXTLIBS += -ldebuginfod
     else
-      $(warning No elfutils/debuginfod.h found, no debuginfo server support, please install elfutils-debuginfod-client-devel or equivalent)
+      $(warning No elfutils/debuginfod.h found, no debuginfo server support, please install libdebuginfod-dev/elfutils-debuginfod-client-devel or equivalent)
     endif
   endif
 

  reply	other threads:[~2025-04-10  6:24 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-07  8:08 [PATCH 1/3] perf sort: Keep output fields in the same level Namhyung Kim
2025-03-07  8:08 ` [PATCH 2/3] perf report: Allow hierarchy mode for --children Namhyung Kim
2025-03-07  8:08 ` [PATCH 3/3] perf report: Disable children column for data type profiling Namhyung Kim
2025-03-20  0:36 ` [PATCH 1/3] perf sort: Keep output fields in the same level Namhyung Kim
2025-03-20  9:32   ` Ingo Molnar
2025-03-20 16:16     ` Namhyung Kim
2025-03-24  7:28       ` Ingo Molnar
2025-03-25  0:26         ` Namhyung Kim
2025-04-04  9:41         ` [perf top] annotation doesn't work, libunwind doesn't seem to be working either Ingo Molnar
2025-04-04 17:28           ` Namhyung Kim
2025-04-04 18:13             ` Arnaldo Carvalho de Melo
2025-04-04 18:25               ` Arnaldo Carvalho de Melo
2025-04-04 18:40                 ` Arnaldo Carvalho de Melo
2025-04-05  9:06             ` Ingo Molnar
2025-04-05  9:09               ` Ingo Molnar
2025-04-07  6:02           ` Howard Chu
2025-04-07 16:58             ` Ingo Molnar
2025-04-07 17:04               ` Ingo Molnar
2025-04-08  0:54               ` Arnaldo Carvalho de Melo
2025-04-08  6:16                 ` Namhyung Kim
2025-04-09  3:26                   ` Arnaldo Carvalho de Melo
2025-04-10 20:48                     ` Namhyung Kim
2025-04-10 20:54                       ` Ingo Molnar
2025-04-24 12:37                       ` Arnaldo Carvalho de Melo
2025-04-08  8:05                 ` Ingo Molnar
2025-04-09  2:23                   ` Arnaldo Carvalho de Melo
2025-04-09 12:19                     ` Arnaldo Carvalho de Melo
2025-04-09 15:57                       ` Arnaldo Carvalho de Melo
2025-04-09 19:17                         ` Arnaldo Carvalho de Melo
2025-04-09 19:22                           ` Arnaldo Carvalho de Melo
2025-04-09 21:26                             ` Ingo Molnar
2025-04-10  1:38                               ` Arnaldo Carvalho de Melo
2025-04-10  6:24                                 ` Ingo Molnar [this message]
2025-04-10 14:03                                   ` Fixes for perf build system and TUI browsers was " Arnaldo Carvalho de Melo
2025-03-25  0:46     ` [PATCH 1/3] perf sort: Keep output fields in the same level Namhyung Kim
2025-03-30  5:54     ` Namhyung Kim
2025-03-21 18:30 ` Namhyung Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z_dkNDj9EPFwPqq1@gmail.com \
    --to=mingo@kernel.org \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=dvyukov@google.com \
    --cc=howardchu95@gmail.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).