Skip to content

perf tools: Adding xz decompression support

Jiri Olsa lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest14 patches 7 repliesIn review
  2. v114 patches 6 repliesSuperseded

Changes in v2 from the cover letter

- added warning message for undetected lzma support (Arnaldo)
- simplyfied code in decompress_kmodule (Namhyung)
- renamed dsos__new to dsos__addnew (Arnaldo)
- moved kmod_path__parse to dso.c object because of the python's perf.so compilation issue
- added extra m.comp check and comment into map_groups__set_module_path

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/14perf tools: Remove superfluous thread->comm_set settingtools/perf/util/thread.c+0 -10 replies
2/14tools build: Add feature check for lzma librarytools/build/Makefile.feature tools/build/feature/Makefile tools/build/feature/test-all.c +1 more+25 -40 replies
3/14perf tools: Add lzma decompression support for kernel moduletools/perf/Makefile.perf tools/perf/config/Makefile tools/perf/util/Build +3 more+116 -00 replies
4/14perf tools: Add kmod_path__parse functiontools/perf/tests/Build tools/perf/tests/builtin-test.c tools/perf/tests/kmod-path.c +3 more+159 -00 replies
5/14perf tools: Add dsos__addnew functiontools/perf/util/dso.c tools/perf/util/dso.h+13 -90 replies
6/14perf tools: Add machine__module_dso functiontools/perf/util/machine.c+25 -110 replies
7/14perf tools: Use kmod_path__parse for machine__new_dsotools/perf/util/machine.c+21 -380 replies
8/14perf tools: Use kmod_path__parse in map_groups__set_modules_path_dirtools/perf/util/machine.c+41 -243 replies
9/14perf tools: Use kmod_path__parse in decompress_kmoduletools/perf/util/symbol-elf.c+11 -90 replies
10/14perf tools: Use kmod_path__parse in is_kernel_moduletools/perf/util/dso.c+6 -100 replies
11/14perf tools: Remove compressed argument from is_kernel_moduletools/perf/util/dso.c tools/perf/util/dso.h tools/perf/util/header.c +1 more+4 -70 replies
12/14perf tools: Remove is_kmodule_extension functiontools/perf/util/dso.c tools/perf/util/dso.h+0 -120 replies
13/14perf tools: Try to lookup kernel module map before creating onetools/perf/util/machine.c+5 -00 replies
14/14perf annotate: Allow annotation for decompressed kernel modulestools/perf/util/annotate.c+31 -10 replies

Reviews trailers per patch

All 14 patches have a Reviewed-by or Acked-by.

PatchNamhyung Kim
1/14A-b
2/14A-b
3/14A-b
4/14A-b
5/14A-b
6/14A-b
7/14A-b
8/14A-b
9/14A-b
10/14A-b
11/14A-b
12/14A-b
13/14A-b
14/14A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCHv2 00/14] perf tools: Adding xz decompression support

hi,
adding support to decompress kernel modules on Fedora 21 (lzma compression) vaguely continuing in previous RFC:
http://marc.info/?l=linux-kernel&m=142261340327588&w=2

I'm basically extending he decompression framework Namhyung introduced earlier plus other fixes for kernel modules dso objects handling.

Last patch adds decompression support to annotate command, so it now displays annotation for compressed kernel modules.

Current work available at:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
perf/lzma

NOTE It's rebased on 'perf/build' branch.

v2 changes:
- added warning message for undetected lzma support (Arnaldo)
- simplyfied code in decompress_kmodule (Namhyung)
- renamed dsos__new to dsos__addnew (Arnaldo)
- moved kmod_path__parse to dso.c object because of the python's perf.so compilation issue
- added extra m.comp check and comment into map_groups__set_module_path

thanks,
jirka

Cc Adrian Hunter <[email protected]>
Cc Arnaldo Carvalho de Melo <[email protected]>
Cc Corey Ashford <[email protected]>
Cc David Ahern <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>

---
Jiri Olsa (14):
perf tools: Remove superfluous thread->comm_set setting tools build: Add feature check for lzma library
perf tools: Add lzma decompression support for kernel module perf tools: Add kmod_path__parse function
perf tools: Add dsos__addnew function
perf tools: Add machine__module_dso function
perf tools: Use kmod_path__parse for machine__new_dso perf tools: Use kmod_path__parse in map_groups__set_modules_path_dir perf tools: Use kmod_path__parse in decompress_kmodule perf tools: Use kmod_path__parse in is_kernel_module perf tools: Remove compressed argument from is_kernel_module perf tools: Remove is_kmodule_extension function
perf tools: Try to lookup kernel module map before creating one perf annotate: Allow annotation for decompressed kernel modules

 tools/build/Makefile.feature    |   6 +-
 tools/build/feature/Makefile    |   8 ++-
 tools/build/feature/test-all.c  |   5 ++
 tools/build/feature/test-lzma.c |  10 +++
 tools/perf/Makefile.perf        |   2 +
 tools/perf/config/Makefile      |  11 +++
 tools/perf/tests/Build          |   1 +
 tools/perf/tests/builtin-test.c |   4 ++
 tools/perf/tests/kmod-path.c    |  73 +++++++++++++++++++
 tools/perf/tests/tests.h        |   1 +
 tools/perf/util/Build           |   1 +
 tools/perf/util/annotate.c      |  32 ++++++++-
 tools/perf/util/dso.c           | 118 +++++++++++++++++++++---------
 tools/perf/util/dso.h           |  18 ++++-
 tools/perf/util/header.c        |   2 +-
 tools/perf/util/lzma.c          |  95 ++++++++++++++++++++++++
 tools/perf/util/machine.c       | 155 ++++++++++++++++++++++------------------
 tools/perf/util/symbol-elf.c    |  20 +++---
 tools/perf/util/thread.c        |   1 -
 tools/perf/util/util.h          |   4 ++
 20 files changed, 449 insertions(+), 118 deletions(-)
 create mode 100644 tools/build/feature/test-lzma.c
 create mode 100644 tools/perf/tests/kmod-path.c
 create mode 100644 tools/perf/util/lzma.c