diff options
Diffstat (limited to 'tools/perf/util/python.c')
-rw-r--r-- | tools/perf/util/python.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c index 0688bfb6d280..9181bf212fb9 100644 --- a/tools/perf/util/python.c +++ b/tools/perf/util/python.c | |||
@@ -627,7 +627,7 @@ static PyObject *pyrf_evsel__open(struct pyrf_evsel *pevsel, | |||
627 | * This will group just the fds for this single evsel, to group | 627 | * This will group just the fds for this single evsel, to group |
628 | * multiple events, use evlist.open(). | 628 | * multiple events, use evlist.open(). |
629 | */ | 629 | */ |
630 | if (perf_evsel__open(evsel, cpus, threads, group, NULL) < 0) { | 630 | if (perf_evsel__open(evsel, cpus, threads) < 0) { |
631 | PyErr_SetFromErrno(PyExc_OSError); | 631 | PyErr_SetFromErrno(PyExc_OSError); |
632 | return NULL; | 632 | return NULL; |
633 | } | 633 | } |
@@ -672,7 +672,7 @@ struct pyrf_evlist { | |||
672 | }; | 672 | }; |
673 | 673 | ||
674 | static int pyrf_evlist__init(struct pyrf_evlist *pevlist, | 674 | static int pyrf_evlist__init(struct pyrf_evlist *pevlist, |
675 | PyObject *args, PyObject *kwargs __used) | 675 | PyObject *args, PyObject *kwargs __maybe_unused) |
676 | { | 676 | { |
677 | PyObject *pcpus = NULL, *pthreads = NULL; | 677 | PyObject *pcpus = NULL, *pthreads = NULL; |
678 | struct cpu_map *cpus; | 678 | struct cpu_map *cpus; |
@@ -733,7 +733,8 @@ static PyObject *pyrf_evlist__poll(struct pyrf_evlist *pevlist, | |||
733 | } | 733 | } |
734 | 734 | ||
735 | static PyObject *pyrf_evlist__get_pollfd(struct pyrf_evlist *pevlist, | 735 | static PyObject *pyrf_evlist__get_pollfd(struct pyrf_evlist *pevlist, |
736 | PyObject *args __used, PyObject *kwargs __used) | 736 | PyObject *args __maybe_unused, |
737 | PyObject *kwargs __maybe_unused) | ||
737 | { | 738 | { |
738 | struct perf_evlist *evlist = &pevlist->evlist; | 739 | struct perf_evlist *evlist = &pevlist->evlist; |
739 | PyObject *list = PyList_New(0); | 740 | PyObject *list = PyList_New(0); |
@@ -765,7 +766,8 @@ free_list: | |||
765 | 766 | ||
766 | 767 | ||
767 | static PyObject *pyrf_evlist__add(struct pyrf_evlist *pevlist, | 768 | static PyObject *pyrf_evlist__add(struct pyrf_evlist *pevlist, |
768 | PyObject *args, PyObject *kwargs __used) | 769 | PyObject *args, |
770 | PyObject *kwargs __maybe_unused) | ||
769 | { | 771 | { |
770 | struct perf_evlist *evlist = &pevlist->evlist; | 772 | struct perf_evlist *evlist = &pevlist->evlist; |
771 | PyObject *pevsel; | 773 | PyObject *pevsel; |
@@ -803,7 +805,7 @@ static PyObject *pyrf_evlist__read_on_cpu(struct pyrf_evlist *pevlist, | |||
803 | if (pyevent == NULL) | 805 | if (pyevent == NULL) |
804 | return PyErr_NoMemory(); | 806 | return PyErr_NoMemory(); |
805 | 807 | ||
806 | err = perf_evlist__parse_sample(evlist, event, &pevent->sample, false); | 808 | err = perf_evlist__parse_sample(evlist, event, &pevent->sample); |
807 | if (err) | 809 | if (err) |
808 | return PyErr_Format(PyExc_OSError, | 810 | return PyErr_Format(PyExc_OSError, |
809 | "perf: can't parse sample, err=%d", err); | 811 | "perf: can't parse sample, err=%d", err); |
@@ -824,7 +826,10 @@ static PyObject *pyrf_evlist__open(struct pyrf_evlist *pevlist, | |||
824 | if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOii", kwlist, &group)) | 826 | if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOii", kwlist, &group)) |
825 | return NULL; | 827 | return NULL; |
826 | 828 | ||
827 | if (perf_evlist__open(evlist, group) < 0) { | 829 | if (group) |
830 | perf_evlist__set_leader(evlist); | ||
831 | |||
832 | if (perf_evlist__open(evlist) < 0) { | ||
828 | PyErr_SetFromErrno(PyExc_OSError); | 833 | PyErr_SetFromErrno(PyExc_OSError); |
829 | return NULL; | 834 | return NULL; |
830 | } | 835 | } |