lkml.org 
[lkml]   [2015]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [GIT PULL 00/27] perf/core2 improvements and fixes

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

    > 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

    Pulled, thanks a lot Arnaldo!

    Ingo


    \
     
     \ /
      Last update: 2015-09-15 09:01    [W:3.334 / U:0.272 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site