All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	James Clark <james.clark@linaro.org>,
	Howard Chu <howardchu95@gmail.com>,
	Athira Jajeev <atrajeev@linux.vnet.ibm.com>,
	Michael Petlan <mpetlan@redhat.com>,
	Veronika Molnarova <vmolnaro@redhat.com>,
	Dapeng Mi <dapeng1.mi@linux.intel.com>,
	Thomas Richter <tmricht@linux.ibm.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Colin Ian King <colin.i.king@gmail.com>,
	Weilin Wang <weilin.wang@intel.com>,
	Andi Kleen <ak@linux.intel.com>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
Subject: Re: [PATCH v5 00/21] Python module cleanup
Date: Thu, 31 Oct 2024 16:39:57 -0300	[thread overview]
Message-ID: <ZyPdDaaqwy7PM57S@x1> (raw)
In-Reply-To: <20241031014252.753588-1-irogers@google.com>

On Wed, Oct 30, 2024 at 06:42:31PM -0700, Ian Rogers wrote:
> This patch:
>  - removes workarounds for Python 2 module support due to long
>    deprecation and challenges in developing new code;
>  - constifies variables and parameters to functions;
>  - removes python.c stub code which existed due to missing functions
>    that are defined in the builtin-* files, in general the builtin-*
>    code is moved into util;
>  - remove bench and test perf C code from the python module;
>  - adds parse_events to the python perf module.
>  - improves upon some of the existing python perf module functins.
> 
> v5. Rebase. Fix NO_LIBBPF and NO_AUXTRACE related build failures
>     caught by Arnaldo and the build-test. Fix NO_AUXTRACE x86
>     arch_fetch_insn in the process, which was incorrectly using an
>     empty weak symbol stub.


I created a 'perf test' shell entry to test the python binding and ran
it after each relevant patch in this series, as well as doing 'perf
script -' to list available scripts, all seem to work.

Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>

I'll send the perf test entry now.

- Arnaldo


> v4. Rebase. Fix the parse events evsel to be embedded in a
>     pyrf_evsel. Add __str__/__repr__ functions to evlist and
>     evsel. Throw an exception for a bad evlist index.
> v3. Move is_directory_at to patch 6 rather than patch 7, respond to
>     review feedback on the list from Namhyung.
> v2. Add the bottom 4 bullet points - 13 more patches.
> 
> Ian Rogers (21):
>   perf python: Remove python 2 scripting support
>   perf python: Constify variables and parameters
>   perf python: Remove unused #include
>   perf script: Move scripting_max_stack out of builtin
>   perf kvm: Move functions used in util out of builtin
>   perf script: Move find_scripts to browser/scripts.c
>   perf stat: Move stat_config into config.c
>   perf script: Move script_spec code to trace-event-scripting.c
>   perf script: Move script_fetch_insn to trace-event-scripting.c
>   perf script: Move perf_sample__sprintf_flags to
>     trace-event-scripting.c
>   perf x86: Define arch_fetch_insn in NO_AUXTRACE builds
>   perf intel-pt: Remove stale build comment
>   perf env: Move arch errno function to only use in env
>   perf lock: Move common lock contention code to new file
>   perf bench: Remove reference to cmd_inject
>   perf kwork: Make perf_kwork_add_work a callback
>   perf build: Remove test library from python shared object
>   perf python: Add parse_events function
>   perf python: Add __str__ and __repr__ functions to evlist
>   perf python: Add __str__ and __repr__ functions to evsel
>   perf python: Correctly throw IndexError
> 
>  tools/perf/Makefile.perf                      |   7 +-
>  tools/perf/arch/x86/util/Build                |   2 +-
>  tools/perf/bench/inject-buildid.c             |  13 +-
>  tools/perf/builtin-kvm.c                      |  61 ----
>  tools/perf/builtin-kwork.c                    |   3 +-
>  tools/perf/builtin-lock.c                     | 137 +------
>  tools/perf/builtin-script.c                   | 304 +---------------
>  tools/perf/builtin-stat.c                     |  27 --
>  tools/perf/builtin-trace.c                    |   1 -
>  tools/perf/builtin.h                          |   6 -
>  .../scripts/python/Perf-Trace-Util/Context.c  |  20 +-
>  tools/perf/tests/stat.c                       |  16 +-
>  tools/perf/trace/beauty/arch_errno_names.sh   |   3 +-
>  tools/perf/ui/browsers/scripts.c              | 177 ++++++++-
>  tools/perf/util/Build                         |   4 +-
>  tools/perf/util/bpf_kwork.c                   |   2 +-
>  tools/perf/util/bpf_kwork_top.c               |   2 +-
>  tools/perf/util/bpf_lock_contention.c         |   2 +-
>  tools/perf/util/cgroup.c                      |   2 +-
>  tools/perf/util/config.c                      |  27 ++
>  tools/perf/util/dlfilter.c                    |   3 +-
>  tools/perf/util/env.c                         |   4 +
>  tools/perf/util/env.h                         |   2 -
>  tools/perf/util/evsel.c                       |  19 +-
>  tools/perf/util/evsel.h                       |   2 +-
>  tools/perf/util/intel-pt-decoder/Build        |  18 +-
>  .../intel-pt-decoder/intel-pt-insn-decoder.c  |   3 -
>  tools/perf/util/kvm-stat.c                    |  70 ++++
>  tools/perf/util/kvm-stat.h                    |   3 +
>  tools/perf/util/kwork.h                       |   6 +-
>  tools/perf/util/lock-contention.c             | 170 +++++++++
>  tools/perf/util/lock-contention.h             |  37 +-
>  tools/perf/util/path.c                        |  10 +
>  tools/perf/util/path.h                        |   1 +
>  tools/perf/util/python.c                      | 338 ++++++++----------
>  .../scripting-engines/trace-event-python.c    |  63 +---
>  tools/perf/util/stat.h                        |   3 +-
>  tools/perf/util/trace-event-scripting.c       | 177 +++++++++
>  tools/perf/util/trace-event.h                 |   5 +-
>  39 files changed, 872 insertions(+), 878 deletions(-)
>  create mode 100644 tools/perf/util/kvm-stat.c
>  create mode 100644 tools/perf/util/lock-contention.c
> 
> -- 
> 2.47.0.163.g1226f6d8fa-goog
> 

  parent reply	other threads:[~2024-10-31 19:40 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-31  1:42 [PATCH v5 00/21] Python module cleanup Ian Rogers
2024-10-31  1:42 ` [PATCH v5 01/21] perf python: Remove python 2 scripting support Ian Rogers
2024-10-31 19:19   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 02/21] perf python: Constify variables and parameters Ian Rogers
2024-10-31 19:21   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 03/21] perf python: Remove unused #include Ian Rogers
2024-10-31 19:19   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 04/21] perf script: Move scripting_max_stack out of builtin Ian Rogers
2024-10-31 19:20   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 05/21] perf kvm: Move functions used in util " Ian Rogers
2024-10-31 19:24   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 06/21] perf script: Move find_scripts to browser/scripts.c Ian Rogers
2024-10-31 19:18   ` Arnaldo Carvalho de Melo
2024-10-31 20:51     ` Ian Rogers
2024-11-04 19:47       ` Namhyung Kim
2024-11-04 20:34         ` Ian Rogers
2024-11-04 20:39           ` Arnaldo Carvalho de Melo
2024-11-04 20:48             ` Ian Rogers
2024-11-04 21:00               ` Namhyung Kim
2024-11-04 21:06                 ` Ian Rogers
2024-11-04 22:09                   ` Namhyung Kim
2024-11-04 22:20                     ` Ian Rogers
2024-11-04 23:22                       ` Namhyung Kim
2024-11-04 23:28                         ` Ian Rogers
2024-11-05  6:14                           ` Namhyung Kim
2024-10-31  1:42 ` [PATCH v5 07/21] perf stat: Move stat_config into config.c Ian Rogers
2024-10-31 19:19   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 08/21] perf script: Move script_spec code to trace-event-scripting.c Ian Rogers
2024-10-31 19:21   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 09/21] perf script: Move script_fetch_insn " Ian Rogers
2024-10-31 19:33   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 10/21] perf script: Move perf_sample__sprintf_flags " Ian Rogers
2024-10-31  1:42 ` [PATCH v5 11/21] perf x86: Define arch_fetch_insn in NO_AUXTRACE builds Ian Rogers
2024-10-31  9:14   ` Adrian Hunter
2024-10-31  1:42 ` [PATCH v5 12/21] perf intel-pt: Remove stale build comment Ian Rogers
2024-10-31  9:13   ` Adrian Hunter
2024-10-31  1:42 ` [PATCH v5 13/21] perf env: Move arch errno function to only use in env Ian Rogers
2024-10-31 19:34   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 14/21] perf lock: Move common lock contention code to new file Ian Rogers
2024-10-31 19:36   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 15/21] perf bench: Remove reference to cmd_inject Ian Rogers
2024-10-31  1:42 ` [PATCH v5 16/21] perf kwork: Make perf_kwork_add_work a callback Ian Rogers
2024-10-31  1:42 ` [PATCH v5 17/21] perf build: Remove test library from python shared object Ian Rogers
2024-10-31 19:21   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 18/21] perf python: Add parse_events function Ian Rogers
2024-10-31  1:42 ` [PATCH v5 19/21] perf python: Add __str__ and __repr__ functions to evlist Ian Rogers
2024-10-31 19:22   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 20/21] perf python: Add __str__ and __repr__ functions to evsel Ian Rogers
2024-10-31 19:38   ` Arnaldo Carvalho de Melo
2024-10-31  1:42 ` [PATCH v5 21/21] perf python: Correctly throw IndexError Ian Rogers
2024-10-31 19:23   ` Arnaldo Carvalho de Melo
2024-10-31 19:39 ` Arnaldo Carvalho de Melo [this message]
2024-10-31 20:55   ` [PATCH v5 00/21] Python module cleanup Ian Rogers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZyPdDaaqwy7PM57S@x1 \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=colin.i.king@gmail.com \
    --cc=dapeng1.mi@linux.intel.com \
    --cc=howardchu95@gmail.com \
    --cc=iii@linux.ibm.com \
    --cc=irogers@google.com \
    --cc=james.clark@linaro.org \
    --cc=jolsa@kernel.org \
    --cc=jpoimboe@redhat.com \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=mpetlan@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tmricht@linux.ibm.com \
    --cc=vmolnaro@redhat.com \
    --cc=weilin.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.