diff options
author | Ingo Molnar <mingo@kernel.org> | 2019-11-15 10:33:54 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2019-11-15 10:33:54 +0300 |
commit | b0aeb45bad84aa3e502b660789dd454d1d11fbf9 (patch) | |
tree | 8bce71513b5884d0d8fbfc7cafe888505ee413d8 /tools/perf/util/scripting-engines/trace-event-python.c | |
parent | 295c52ee1485e4dee660fc1a0e6ceed6c803c9d3 (diff) | |
parent | e1e9b78d3957a267346a86c8f2c433f6a332af65 (diff) | |
download | linux-b0aeb45bad84aa3e502b660789dd454d1d11fbf9.tar.xz |
Merge tag 'perf-core-for-mingo-5.5-20191112' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
perf record:
Ravi Bangoria:
- Provide an option to print perf_event_open args and syscall return value.
This was already possible using -v, but then lots of other debug info
would be output as well, provide a way to show just the syscall args
and return value, e.g.:
# perf --debug perf-event-open=1 record
perf_event_attr:
size 112
{ sample_period, sample_freq } 4000
sample_type IP|TID|TIME|PERIOD
read_format ID
disabled 1
inherit 1
<SNIP>
ksymbol 1
bpf_event 1
------------------------------------------------------------
sys_perf_event_open: pid 4308 cpu 0 group_fd -1 flags 0x8 = 4
core:
- Remove map->groups, we can get that information in other ways, reduces
the size of a key data structure and paves the way to have it shared
by multiple threads.
- Use 'struct map_symbol' in more places, where we already were using a
'struct map' + 'struct symbol', this helps passing that usual pair of
information across callchain, browser code, etc.
- Add 'struct map_groups' (where the map_symbol->map is) to 'struct map_symbol',
to ease annotation code, for instance, where we call from functions in one map
we're browsing to functions in another DSO, mapped in another 'struct map'.
event parsing:
Ian Rogers:
- Use YYABORT to clear stack after failure, plugging leaks
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-python.c')
-rw-r--r-- | tools/perf/util/scripting-engines/trace-event-python.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c index 93c03b39cd9c..9581a904af29 100644 --- a/tools/perf/util/scripting-engines/trace-event-python.c +++ b/tools/perf/util/scripting-engines/trace-event-python.c @@ -428,24 +428,24 @@ static PyObject *python_process_callchain(struct perf_sample *sample, pydict_set_item_string_decref(pyelem, "ip", PyLong_FromUnsignedLongLong(node->ip)); - if (node->sym) { + if (node->ms.sym) { PyObject *pysym = PyDict_New(); if (!pysym) Py_FatalError("couldn't create Python dictionary"); pydict_set_item_string_decref(pysym, "start", - PyLong_FromUnsignedLongLong(node->sym->start)); + PyLong_FromUnsignedLongLong(node->ms.sym->start)); pydict_set_item_string_decref(pysym, "end", - PyLong_FromUnsignedLongLong(node->sym->end)); + PyLong_FromUnsignedLongLong(node->ms.sym->end)); pydict_set_item_string_decref(pysym, "binding", - _PyLong_FromLong(node->sym->binding)); + _PyLong_FromLong(node->ms.sym->binding)); pydict_set_item_string_decref(pysym, "name", - _PyUnicode_FromStringAndSize(node->sym->name, - node->sym->namelen)); + _PyUnicode_FromStringAndSize(node->ms.sym->name, + node->ms.sym->namelen)); pydict_set_item_string_decref(pyelem, "sym", pysym); } - if (node->map) { - const char *dsoname = get_dsoname(node->map); + if (node->ms.map) { + const char *dsoname = get_dsoname(node->ms.map); pydict_set_item_string_decref(pyelem, "dso", _PyUnicode_FromString(dsoname)); @@ -1127,7 +1127,7 @@ static void python_export_sample_table(struct db_export *dbe, tuple_set_u64(t, 0, es->db_id); tuple_set_u64(t, 1, es->evsel->db_id); - tuple_set_u64(t, 2, es->al->machine->db_id); + tuple_set_u64(t, 2, es->al->mg->machine->db_id); tuple_set_u64(t, 3, es->al->thread->db_id); tuple_set_u64(t, 4, es->comm_db_id); tuple_set_u64(t, 5, es->dso_db_id); |