perf tools: some fixes and tweaks
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v13 Latest12 patches 0 repliesNew
- v1213 patches 0 repliesSuperseded
- v1115 patches 6 repliesSuperseded
Earlier versions · 11
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v10 | 13 patches | 14 replies | Superseded | |
| v9 | 14 patches | 12 replies | Superseded | |
| v8 | 15 patches | 10 replies | Superseded | |
| v7 | 14 patches | 2 replies | Superseded | |
| v6 | 12 patches | 4 replies | Superseded | |
| v5 | 12 patches | 29 replies | Superseded | |
| v4 posting 2/2 | 21 patches | 5 replies | Superseded | |
| v4 posting 1/2 | 0 of 15 patches | 0 replies | Superseded | |
| v3 | 15 patches | 7 replies | Superseded | |
| v2 | 15 patches | 17 replies | Superseded | |
| v1 | 15 patches | 32 replies | Superseded |
Changes in v13 from the cover letter
perf tools: allow non-matching sample types
Moved to be the last patch
perf tools: add pid to struct thread
Dropped since its been applied
perf tools: add support for PERF_SAMPLE_IDENTFIER
Subsumed most of 'perf tools: allow non-matching sample types'
Patches in v13 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/12 | perf tools: change machine__findnew_thread() to set thread pidtools/ tools/ tools/ +11 more | +55 | 0 replies | |
| 2/12 | perf tools: tidy up sample parsing overflow checkingtools/ | +71 | 0 replies | |
| 3/12 | perf tools: remove unnecessary callchain validationtools/ tools/ tools/ | +0 | 0 replies | |
| 4/12 | perf tools: remove references to struct ip_eventtools/ tools/ tools/ +8 more | +35 | 0 replies | |
| 5/12 | perf: make events stream always parsableinclude/ kernel/ | +30 | 0 replies | |
| 6/12 | perf tools: move perf_evlist__config() to a new source filetools/ tools/ tools/ | +26 | 0 replies | |
| 7/12 | perf tools: add support for PERF_SAMPLE_IDENTFIERtools/ tools/ tools/ +6 more | +310 | 0 replies | |
| 8/12 | perf tools: add missing 'abi' member to 'struct regs_dump'tools/ tools/ | +4 | 0 replies | |
| 9/12 | perf tools: expand perf_event__synthesize_sample()tools/ tools/ tools/ | +97 | 0 replies | |
| 10/12 | perf tools: add a function to calculate sample event sizetools/ tools/ | +94 | 0 replies | |
| 11/12 | perf tools: add a sample parsing testtools/ tools/ tools/ +1 more | +322 | 0 replies | |
| 12/12 | perf tools: allow non-matching sample typestools/ tools/ tools/ +1 more | +46 | 0 replies |
Reviews trailers per patch
7 of 12 patches have a Reviewed-by or Acked-by.
| Patch | David Ahern | Namhyung Kim | Jiri Olsa | Peter Zijlstra | Stephane Eranian |
|---|---|---|---|---|---|
| 1/12 | A-b | ||||
| 2/12 | A-b | ||||
| 3/12 | A-b | ||||
| 4/12 | A-b | ||||
| 5/12 | A-b | T-b | |||
| 6/12 | A-b | ||||
| 7/12 | |||||
| 8/12 | A-b | ||||
| 9/12 | |||||
| 10/12 | |||||
| 11/12 | |||||
| 12/12 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 5 reviewers.
Cover letter [PATCH V13 00/12] perf tools: some fixes and tweaks
Hi
Here are some fixes and tweaks to perf tools (version 13).
Changes in V13:
perf tools: allow non-matching sample types
Moved to be the last patch
perf tools: add pid to struct thread
Dropped since its been applied
perf tools: add support for PERF_SAMPLE_IDENTFIER
Subsumed most of 'perf tools: allow non-matching sample types'
Changes in V12:
perf tools: re-implement debug print function for linking python/perf.so
Dropped since its been applied
perf tools: add debug prints
Dropped since its been applied
perf tools: allow non-matching sample types
Do not call perf_evlist__set_id_pos() when adding events other than the first Do not use matching_sample_types
perf: make events stream always parsable
Added Peter's missing Ack
Added Stephane's Tested-by
perf tools: add missing 'abi' member to 'struct regs_dump'
Added Jiri's Ack
Changes in V11:
perf tools: re-implement debug print function for linking python/perf.so
New patch split from "perf tools: add debug prints"
perf tools: add debug prints
Changed to use graph_dotted_line
Moved python/link changes to separate patch
Added Namhyung's Ack
perf tools: change machine__findnew_thread() to set thread pid
Added explanation of main thread lookup to commit message
perf tools: tidy up sample parsing overflow checking
Added Jiri's Ack
perf tools: remove unnecessary callchain validation
Added Namhyung's Ack
perf tools: remove references to struct ip_event
Added Namhyung's Ack
perf tools: move perf_evlist__config() to a new source file
Added Namhyung's Ack
perf tools: add missing 'abi' member to 'struct regs_dump'
New patch
perf tools: expand perf_event__synthesize_sample()
Adjusted for new 'abi' member of 'struct regs_dump'
perf tools: add a function to calculate sample event size
Adjusted for new 'abi' member of 'struct regs_dump'
perf tools: add a sample parsing test
Adjusted for new 'abi' member of 'struct regs_dump'
Changes in V10:
Re-based on:
perf/core branch of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git
commit 207353be1574027c151609a31167ac5919a056c8: perf tools: Remove filter parameter of thread__find_addr_map()
perf tools: add debug prints
Changed to use macros
perf tools: add pid to struct thread
Added David's Ack
perf tools: change machine__findnew_thread() to set thread pid
Added David's Ack
perf tools: remove references to struct ip_event
Also remove from hists_link.c
perf tools: move struct ip_event
Dropped since it is covered by "perf tools: remove references to struct ip_event"
perf tools: add a sample parsing test
Fix missing sample comparison for PERF_SAMPLE_READ
Changes in V9:
perf: Update perf_event_type documentation
Dropped since its been applied
perf tools: tidy up sample parsing overflow checking
Changed to use a single overflow function Updated for PERF_SAMPLE_READ
perf: make events stream always parsable
Added more about sample parsing to the commit message
perf tools: add support for PERF_SAMPLE_IDENTFIER
When selecting PERF_SAMPLE_IDENTFIER, ensure PERF_SAMPLE_ID is deselected
perf tools: expand perf_event__synthesize_sample()
Updated for PERF_SAMPLE_READ
perf tools: add a function to calculate sample event size
Updated for PERF_SAMPLE_READ
perf tools: add a sample parsing test
Updated for PERF_SAMPLE_READ
Changes in V8:
perf tools: add debug prints
Fixed Python link errors
perf tools: move perf_evlist__config() to a new source file
New Patch to avoid Python link errors
perf tools: add support for PERF_SAMPLE_IDENTFIER
Adjustments due to patch above
Changes in V7:
perf: Update perf_event_type documentation
Proposed new patch from Peter Zijlstra
perf: make events stream always parsable
Adjustments due to patch above
perf tools: tidy up sample parsing overflow checking
Change to a single overflow function Amend comment
perf tools: add a function to calculate sample event size
New patch
perf tools: add a sample parsing test
Amended to use sample event size calculation
Changes in V6:
Some checkpatch fixes
perf: make events stream always parsable
Add sample format comments
Changes in V5:
Re-based to Arnaldo's tree and dropped already applied patches:
perf tools: remove unused parameter
perf tools: fix missing tool parameter
perf tools: fix missing 'finished_round'
perf tools: fix parse_events_terms() segfault on error path perf tools: fix new_term() missing free on error path perf tools: add const specifier to perf_pmu__find name parameter perf tools: tidy duplicated munmap code
perf tools: validate perf event header size
perf tools: add debug prints
Changed to perf_event_attr__fprintf()
perf tools: add pid to struct thread
Always set the pid, even if a pid is already set
perf tools: change machine__findnew_thread() to set thread pid
Replaces: perf tools: change "machine" functions to set thread pid
perf tools: add support for PERF_SAMPLE_IDENTFIER
Only use PERF_SAMPLE_IDENTFIER if sample types are different
perf tools: expand perf_event__synthesize_sample()
New patch in preparation of a sample parsing test
perf tools: add a sample parsing test
New patch
Changes in V4:
I added kernel support for matching sample types via PERF_SAMPLE_IDENTIFIER. perf tools support for that required first fixing some other things.
perf tools: fix parse_events_terms() freeing local variable on error path
Dropped - covered by David Ahern
perf tools: struct thread has a tid not a pid
Added ack by David Ahern
perf tools: add pid to struct thread
Remove unused function
perf tools: fix missing increment in sample parsing
New patch
perf tools: tidy up sample parsing overflow checking
New patch
perf tools: remove unnecessary callchain validation
New patch
perf tools: remove references to struct ip_event
New patch
perf tools: move struct ip_event
New patch
perf: make events stream always parsable
New patch
perf tools: add support for PERF_SAMPLE_IDENTFIER
New patch
Changes in V3:
perf tools: add pid to struct thread
Split into 2 patches
perf tools: fix ppid in thread__fork()
Dropped for now
Changes in V2:
perf tools: fix missing tool parameter
Fixed one extra occurrence
perf tools: fix parse_events_terms() freeing local variable on error path
Made "freeing" code into a new function
perf tools: validate perf event header size
Corrected byte-swapping
perf tools: allow non-matching sample types
Added comments
Fixed id_pos calculation
id_pos/is_pos updated whenever sample_type changes Removed perf_evlist__sample_type()
Added __perf_evlist__combined_sample_type()
Added perf_evlist__combined_sample_type()
Added perf_evlist__make_sample_types_compatible()
Added ack's to patches acked by Jiri Olsa
Adrian Hunter (12):
perf tools: change machine__findnew_thread() to set thread pid perf tools: tidy up sample parsing overflow checking perf tools: remove unnecessary callchain validation perf tools: remove references to struct ip_event
perf: make events stream always parsable
perf tools: move perf_evlist__config() to a new source file perf tools: add support for PERF_SAMPLE_IDENTFIER perf tools: add missing 'abi' member to 'struct regs_dump' perf tools: expand perf_event__synthesize_sample() perf tools: add a function to calculate sample event size perf tools: add a sample parsing test
perf tools: allow non-matching sample types
include/uapi/linux/perf_event.h | 27 ++- kernel/events/core.c | 11 +- tools/perf/Makefile | 2 + tools/perf/builtin-inject.c | 8 +- tools/perf/builtin-kmem.c | 3 +- tools/perf/builtin-kvm.c | 2 +- tools/perf/builtin-lock.c | 3 +- tools/perf/builtin-mem.c | 2 +- tools/perf/builtin-report.c | 2 +- tools/perf/builtin-sched.c | 20 +- tools/perf/builtin-script.c | 3 +- tools/perf/builtin-top.c | 11 +- tools/perf/builtin-trace.c | 10 +- tools/perf/tests/builtin-test.c | 4 + tools/perf/tests/code-reading.c | 4 +- tools/perf/tests/hists_link.c | 23 +-- tools/perf/tests/mmap-basic.c | 2 +- tools/perf/tests/sample-parsing.c | 316 +++++++++++++++++++++++++++++ tools/perf/tests/tests.h | 1 + tools/perf/util/build-id.c | 11 +- tools/perf/util/callchain.c | 8 - tools/perf/util/callchain.h | 5 - tools/perf/util/event.c | 5 +- tools/perf/util/event.h | 34 ++-- tools/perf/util/evlist.c | 142 ++++++++++--- tools/perf/util/evlist.h | 9 +- tools/perf/util/evsel.c | 405 +++++++++++++++++++++++++++++++++----- tools/perf/util/evsel.h | 14 +- tools/perf/util/machine.c | 22 ++- tools/perf/util/machine.h | 3 +- tools/perf/util/record.c | 111 +++++++++++ tools/perf/util/session.c | 32 +-- 32 files changed, 1066 insertions(+), 189 deletions(-) create mode 100644 tools/perf/tests/sample-parsing.c create mode 100644 tools/perf/util/record.c
Regards
Adrian