linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL 00/27] perf/core2 improvements and fixes
@ 2015-09-14 16:38 Arnaldo Carvalho de Melo
  2015-09-14 16:38 ` [PATCH 01/27] perf tests: Take into account address of each objdump line Arnaldo Carvalho de Melo
                   ` (27 more replies)
  0 siblings, 28 replies; 29+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-09-14 16:38 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter, Andi Kleen,
	Borislav Petkov, Corey Ashford, David Ahern, Frederic Weisbecker,
	Jan Stancek, Jiri Olsa, Kanaka Juvva, Kan Liang, Matt Fleming,
	Namhyung Kim, Paul Mackerras, Peter Zijlstra, Raphael Beamonte,
	Stephane Eranian, Steven Rostedt, Vikas Shivappa, Vince Weaver,
	Wang Nan

From: Arnaldo Carvalho de Melo <acme@redhat.com>

Hi Ingo,

	Please consider pulling, this should have all the issues related to
that 'socket' sort order/filter fixed. I reordered some patches I did to
get the right infrastructure in place and merged a few fixes from me, Jiri,
so that we have a clean bisect history wrt this feature.

	I tested it using old perf.data files with no cpu->socket_id header,
perf top, and the reported problems from you, from Wang, the ones I found seem
to be all fixed. I also built tested it in a few systems, fixing problems, for
instance with using a 'socket' variable name that was shadowing a glibc decl.

	We still have problems tho when there are offline CPUs, but that is a
longstanding problem from the days when Stephane added that code and only
affects the perf.data case, i.e. when generating the CPU topology perf.data
header it bails out (but doesn't segfaults, its just the mapping that is lost)
as soon as it fails to find files that don't exist when a CPU is offline.

	I.e.:

  perf record -a usleep 1; perf report -s socket

	Will show -1 for the socket info, but at least that doesn't cause
a segfault anymore ;-)

  perf top -s socket

	Works tho when CPUs are offline.

	I will try and fix that other problem, but I wanted to get what is
in perf/core2 flushed so that I can process some more outstanding patches, to
avoid stalling too many downstreamers.

	Some of these other patches I want to process include fixes for
perf/urgent, like some from Wang, etc.

- Arnaldo

The following changes since commit 8f3e5684d3fbd91ead283916676fa3dac22615e5:

  perf/core: Drop PERF_EVENT_TXN (2015-09-13 11:27:30 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-2

for you to fetch changes up to 92d424ae898e0d04ac34263aa33e40acc1e1f3d1:

  perf test: Add entry for hists socket filter (2015-09-14 13:04:10 -0300)

----------------------------------------------------------------
perf/core improvements and fixes:

User visible:

- Add 'socket' sort entry, to sort by the processor socket in
  'perf top' and 'perf report' (Kan Liang)

- Introduce --socket-filter to 'perf report', for filtering by processor
  socket (Kan Liang)

- Add new "Zoom into Processor Socket" operation in the perf hists browser,
  used in 'perf top' and 'perf report' (Kan Liang)

- Fix the 'CPU' hist browser column width calculation (Arnaldo Carvalho de Melo)

Infrastructure:

- 'perf test' fixes for the object code reading entry (Jan Stancek)

- Add processor socket and cpu topology 'perf test' entries (Kan Liang)

- Introduce more sysfs__read_TYPE() helpers (Arnaldo Carvalho de Melo)

- Group cpu information reading functions in tools/lib/api/cpu.[ch],
  starting with cpu__get_max_freq() from a patchkit by Kan Liang
  (Arnaldo Carvalho de Melo)

- Retrieve the MSR PMU type from a perf.data file header and store it
  in struct perf_env (Kan Liang)

- Add tools/include into CTAGS file list (Jiri Olsa)

- Add iterator function for perf tests (Matt Fleming)

- Switch to tracing_patch interface (Jiri Olsa)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

----------------------------------------------------------------
Arnaldo Carvalho de Melo (10):
      perf env: Move perf_env out of header.h and session.c into separate object
      perf env: Rename some leftovers from rename to perf_env
      perf env: Adopt perf_header__set_cmdline
      perf hists browser: Fixup the "cpu" column width calculation
      perf evsel: Remove forward declaration of 'struct perf_evlist'
      tools lib api fs: Introduce sysfs__read_{int,ull}()
      tools lib api cpu: Introduce cpu.[ch] to obtain cpu related information
      perf cpu_map: Use sysfs__read_int in get_{core,socket}_id()
      perf env: Introduce read_cpu_topology_map() method
      perf machine: Add pointer to sample's environment

Jan Stancek (4):
      perf tests: Take into account address of each objdump line
      perf tests: Make objdump disassemble zero blocks
      perf tests: Stop reading if objdump output crossed sections
      perf tests: Print objdump/dso buffers if they don't match

Jiri Olsa (5):
      tools lib api fs: Make tracing_path_strerror_open message generic
      tools lib api fs: Replace debugfs/tracefs objects interface with fs.c
      tools lib api fs: Remove debugfs, tracefs and findfs objects
      perf tools: Switch to tracing_path interface on appropriate places
      perf tools: Add tools/include into tags directories

Kan Liang (7):
      perf test: Add entry to test cpu topology
      perf env: Read msr pmu type from header
      perf tools: Add processor socket info to hist_entry and addr_location
      perf tools: Introduce new sort type "socket" for the processor socket
      perf report: Introduce --socket-filter option
      perf hists browser: Zoom in/out for processor socket
      perf test: Add entry for hists socket filter

Matt Fleming (1):
      perf tests: Introduce iterator function for tests

 tools/lib/api/Build                        |   1 +
 tools/lib/api/cpu.c                        |  18 +++++
 tools/lib/api/cpu.h                        |   6 ++
 tools/lib/api/fs/Build                     |   3 -
 tools/lib/api/fs/debugfs.c                 |  77 -------------------
 tools/lib/api/fs/debugfs.h                 |  23 ------
 tools/lib/api/fs/findfs.c                  |  63 ----------------
 tools/lib/api/fs/findfs.h                  |  23 ------
 tools/lib/api/fs/fs.c                      |  46 +++++++++++-
 tools/lib/api/fs/fs.h                      |   4 +
 tools/lib/api/fs/tracefs.c                 |  78 -------------------
 tools/lib/api/fs/tracefs.h                 |  21 ------
 tools/lib/api/fs/tracing_path.c            |  35 +++++----
 tools/perf/Documentation/perf-report.txt   |   6 +-
 tools/perf/Makefile.perf                   |   2 +-
 tools/perf/arch/common.c                   |  10 +--
 tools/perf/arch/common.h                   |   4 +-
 tools/perf/builtin-annotate.c              |   2 +-
 tools/perf/builtin-kvm.c                   |   1 -
 tools/perf/builtin-probe.c                 |   1 -
 tools/perf/builtin-report.c                |  11 +++
 tools/perf/builtin-top.c                   |  17 ++++-
 tools/perf/perf.c                          |   2 +
 tools/perf/tests/Build                     |   1 +
 tools/perf/tests/builtin-test.c            |  36 +++++----
 tools/perf/tests/code-reading.c            |  74 +++++++++++++++----
 tools/perf/tests/hists_filter.c            |  55 +++++++++++---
 tools/perf/tests/openat-syscall-all-cpus.c |  10 +--
 tools/perf/tests/openat-syscall.c          |  10 +--
 tools/perf/tests/parse-events.c            |  19 +----
 tools/perf/tests/tests.h                   |   1 +
 tools/perf/tests/topology.c                | 115 +++++++++++++++++++++++++++++
 tools/perf/ui/browsers/hists.c             |  61 +++++++++++++--
 tools/perf/util/Build                      |   1 +
 tools/perf/util/cpumap.c                   |  46 +++---------
 tools/perf/util/env.c                      |  86 +++++++++++++++++++++
 tools/perf/util/env.h                      |  44 +++++++++++
 tools/perf/util/event.c                    |   8 ++
 tools/perf/util/evsel.c                    |   2 +-
 tools/perf/util/evsel.h                    |   1 -
 tools/perf/util/header.c                   |  76 ++++++-------------
 tools/perf/util/header.h                   |  33 +--------
 tools/perf/util/hist.c                     |  38 ++++++++++
 tools/perf/util/hist.h                     |   6 +-
 tools/perf/util/machine.c                  |   1 +
 tools/perf/util/machine.h                  |   1 +
 tools/perf/util/parse-options.c            |   2 +-
 tools/perf/util/probe-event.c              |   5 +-
 tools/perf/util/probe-file.c               |  15 +---
 tools/perf/util/session.c                  |  22 +-----
 tools/perf/util/sort.c                     |  25 +++++++
 tools/perf/util/sort.h                     |   3 +
 tools/perf/util/symbol.h                   |   1 +
 tools/perf/util/util.h                     |   3 +-
 54 files changed, 700 insertions(+), 555 deletions(-)
 create mode 100644 tools/lib/api/cpu.c
 create mode 100644 tools/lib/api/cpu.h
 delete mode 100644 tools/lib/api/fs/debugfs.c
 delete mode 100644 tools/lib/api/fs/debugfs.h
 delete mode 100644 tools/lib/api/fs/findfs.c
 delete mode 100644 tools/lib/api/fs/findfs.h
 delete mode 100644 tools/lib/api/fs/tracefs.c
 delete mode 100644 tools/lib/api/fs/tracefs.h
 create mode 100644 tools/perf/tests/topology.c
 create mode 100644 tools/perf/util/env.c
 create mode 100644 tools/perf/util/env.h

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-09-15  6:53 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-14 16:38 [GIT PULL 00/27] perf/core2 improvements and fixes Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 01/27] perf tests: Take into account address of each objdump line Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 02/27] perf tests: Make objdump disassemble zero blocks Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 03/27] perf tests: Stop reading if objdump output crossed sections Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 04/27] perf tests: Print objdump/dso buffers if they don't match Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 05/27] tools lib api fs: Make tracing_path_strerror_open message generic Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 06/27] tools lib api fs: Replace debugfs/tracefs objects interface with fs.c Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 07/27] tools lib api fs: Remove debugfs, tracefs and findfs objects Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 08/27] perf tools: Switch to tracing_path interface on appropriate places Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 09/27] perf test: Add entry to test cpu topology Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 10/27] perf tests: Introduce iterator function for tests Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 11/27] perf env: Move perf_env out of header.h and session.c into separate object Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 12/27] perf env: Rename some leftovers from rename to perf_env Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 13/27] perf env: Adopt perf_header__set_cmdline Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 14/27] perf hists browser: Fixup the "cpu" column width calculation Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 15/27] perf evsel: Remove forward declaration of 'struct perf_evlist' Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 16/27] perf tools: Add tools/include into tags directories Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 17/27] perf env: Read msr pmu type from header Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 18/27] tools lib api fs: Introduce sysfs__read_{int,ull}() Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 19/27] tools lib api cpu: Introduce cpu.[ch] to obtain cpu related information Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 20/27] perf cpu_map: Use sysfs__read_int in get_{core,socket}_id() Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 21/27] perf env: Introduce read_cpu_topology_map() method Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 22/27] perf machine: Add pointer to sample's environment Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 23/27] perf tools: Add processor socket info to hist_entry and addr_location Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 24/27] perf tools: Introduce new sort type "socket" for the processor socket Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 25/27] perf report: Introduce --socket-filter option Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 26/27] perf hists browser: Zoom in/out for processor socket Arnaldo Carvalho de Melo
2015-09-14 16:38 ` [PATCH 27/27] perf test: Add entry for hists socket filter Arnaldo Carvalho de Melo
2015-09-15  6:53 ` [GIT PULL 00/27] perf/core2 improvements and fixes Ingo Molnar

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).