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