lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 14 Sep 2015 13:38:03 -0300
From:	Arnaldo Carvalho de Melo <acme@...nel.org>
To:	Ingo Molnar <mingo@...nel.org>
Cc:	linux-kernel@...r.kernel.org,
	Arnaldo Carvalho de Melo <acme@...hat.com>,
	Adrian Hunter <adrian.hunter@...el.com>,
	Andi Kleen <ak@...ux.intel.com>, Borislav Petkov <bp@...e.de>,
	Corey Ashford <cjashfor@...ux.vnet.ibm.com>,
	David Ahern <dsahern@...il.com>,
	Frederic Weisbecker <fweisbec@...il.com>,
	Jan Stancek <jstancek@...hat.com>,
	Jiri Olsa <jolsa@...hat.com>,
	Kanaka Juvva <kanaka.d.juvva@...el.com>,
	Kan Liang <kan.liang@...el.com>,
	Matt Fleming <matt.fleming@...el.com>,
	Namhyung Kim <namhyung@...nel.org>,
	Paul Mackerras <paulus@...ba.org>,
	Peter Zijlstra <peterz@...radead.org>,
	Raphael Beamonte <raphael.beamonte@...il.com>,
	Stephane Eranian <eranian@...gle.com>,
	Steven Rostedt <rostedt@...dmis.org>,
	Vikas Shivappa <vikas.shivappa@...el.com>,
	Vince Weaver <vince@...ter.net>, Wang Nan <wangnan0@...wei.com>
Subject: [GIT PULL 00/27] perf/core2 improvements and fixes

From: Arnaldo Carvalho de Melo <acme@...hat.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@...hat.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ