From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Aditya Gupta <adityag@linux.ibm.com>
Cc: jolsa@kernel.org, irogers@google.com, namhyung@kernel.org,
linux-perf-users@vger.kernel.org, maddy@linux.ibm.com,
atrajeev@linux.vnet.ibm.com, kjain@linux.ibm.com,
disgoel@linux.vnet.ibm.com
Subject: Re: [PATCH v8 0/4] Introduce perf check subcommand
Date: Fri, 5 Jan 2024 12:08:57 -0300 [thread overview]
Message-ID: <ZZgbifOT9Xgr-1Wo@kernel.org> (raw)
In-Reply-To: <3bgpdf5ha4go7xpxtgfa2ophxokoyiu2hjjumlwmtioi3bgjmv@bah667fiqp7x>
Em Fri, Jan 05, 2024 at 01:30:19PM +0530, Aditya Gupta escreveu:
> Hi Arnaldo,
> Any comments on the series ?
I'm trying now to finish the pull req for v6.8, trying to avoid adding
new features, Namhyung will take care for patches for v6.9, where he
will most likely consider your latest v8 kit.
Thanks,
- Arnaldo
> Thanks,
> Aditya
>
> > On Mon, Dec 04, 2023 at 03:09:50PM +0530, Aditya Gupta wrote:
> > > The Problem
> > > ===========
> > >
> > > Currently the presence of a feature is checked with a combination of
> > > perf version --build-options and greps, such as:
> > >
> > > perf version --build-options | grep " on .* HAVE_FEATURE"
> > >
> > > Proposed solution
> > > =================
> > >
> > > As suggested by contributors in:
> > > https://lore.kernel.org/linux-perf-users/ZMPWk5K63tadmDlU@kernel.org/
> > >
> > > Introduce a subcommand "perf check --feature", with which
> > > scripts can test for presence of a feature or multiple features, such as:
> > >
> > > perf check --feature HAVE_LIBTRACEEVENT
> > >
> > > or
> > >
> > > perf check --feature libtraceevent
> > >
> > > or
> > >
> > > perf check --feature libtraceevent,bpf
> > >
> > > The usage of "perf version --build-options | grep" has been replaced in two
> > > tests, with "perf check --feature" command
> > >
> > > Also, to not duplicate the same feature list at multiple places, a new global
> > > 'supported_features' array has been introduced in builtin.h, so both commands
> > > 'perf check --feature' and 'perf version --build-options' use the same array
> > >
> > > 'supported_features' feature is an array of 'struct feature_support', which
> > > also has the name of the feature, macro used to test it's presence, and a
> > > is_builtin member, which will be 0 if feature not built-in, and 1 if built-in
> > >
> > > Architectures Tested
> > > ====================
> > > * x86_64
> > > * ppc64le
> > >
> > > Git tree
> > > ========
> > >
> > > Git tree with this patch series applied for testing:
> > > https://github.com/adi-g15-ibm/linux/tree/perf-check-feature-v8
> > >
> > > Changelog
> > > =========
> > > V8
> > > + handle return value of 'malloc' in patch #1
> > > + fix error due to strncpy depending on source string's length
> > >
> > > V7
> > > + modified patch #1 to fix compile issue, and add feature to allow
> > > multiple comma-separated features
> > >
> > > V6
> > > + rebased to perf-tools-next/perf-tools-next
> > > + modified patch #1 to include FEATURE_SUPPORT("bpf_skeletons", HAVE_BPF_SKEL)
> > >
> > > V5
> > > + invert return value of 'has_support', but return value of perf check --feature
> > > according to shell convention
> > >
> > > V4
> > > + invert return value of perf check --feature
> > >
> > > V3
> > > + simplified has_support code in builtin-check.c (patch #1)
> > > + modified patch #3 and patch #4 according to change in return value in patch #1
> > >
> > > V2
> > > + improved the patch series with suggestions from Namhyung
> > > + fix incorrect return value, added -q option, and moved array definition to
> > > perf-check.c
> > >
> > > V1
> > > + changed subcommand name to 'perf check --feature'
> > > + added documentation for perf check
> > > + support both macro (eg. HAVE_LIBTRACEEVENT), and name (eg. libtraceevent) as
> > > input to 'perf check --feature'
> > > + change subject and descriptions of all patch mentioning perf check instead of
> > > perf build
> > >
> > > V0: Previous patch series: https://lore.kernel.org/linux-perf-users/20230825061125.24312-1-adityag@linux.ibm.com/
> > >
> > > Aditya Gupta (3):
> > > perf check: introduce check subcommand
> > > perf version: update --build-options to use 'supported_features' array
> > > perf tests task_analyzer: use perf check for libtraceevent support
> > >
> > > Athira Rajeev (1):
> > > tools/perf/tests: Update probe_vfs_getname.sh script to use perf check
> > > --feature
> > >
> > > tools/perf/Build | 1 +
> > > tools/perf/Documentation/perf-check.txt | 59 +++++++++
> > > tools/perf/builtin-check.c | 122 ++++++++++++++++++
> > > tools/perf/builtin-version.c | 39 ++----
> > > tools/perf/builtin.h | 18 +++
> > > tools/perf/perf.c | 1 +
> > > .../perf/tests/shell/lib/probe_vfs_getname.sh | 4 +-
> > > .../shell/record+probe_libc_inet_pton.sh | 5 +-
> > > .../shell/record+script_probe_vfs_getname.sh | 5 +-
> > > tools/perf/tests/shell/test_task_analyzer.sh | 4 +-
> > > 10 files changed, 221 insertions(+), 37 deletions(-)
> > > create mode 100644 tools/perf/Documentation/perf-check.txt
> > > create mode 100644 tools/perf/builtin-check.c
> > >
> > > --
> > > 2.41.0
> > >
--
- Arnaldo
next prev parent reply other threads:[~2024-01-05 15:09 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-04 9:39 [PATCH v8 0/4] Introduce perf check subcommand Aditya Gupta
2023-12-04 9:39 ` [PATCH v8 1/4] perf check: introduce " Aditya Gupta
2024-01-05 23:29 ` Namhyung Kim
2024-01-06 20:52 ` Aditya Gupta
2023-12-04 9:39 ` [PATCH v8 2/4] perf version: update --build-options to use 'supported_features' array Aditya Gupta
2023-12-04 9:39 ` [PATCH v8 3/4] perf tests task_analyzer: use perf check for libtraceevent support Aditya Gupta
2023-12-04 9:39 ` [PATCH v8 4/4] tools/perf/tests: Update probe_vfs_getname.sh script to use perf check --feature Aditya Gupta
2023-12-06 6:12 ` [PATCH v8 0/4] Introduce perf check subcommand Aditya Gupta
2024-01-05 8:00 ` Aditya Gupta
2024-01-05 15:08 ` Arnaldo Carvalho de Melo [this message]
2024-01-06 5:48 ` Aditya Gupta
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=ZZgbifOT9Xgr-1Wo@kernel.org \
--to=acme@kernel.org \
--cc=adityag@linux.ibm.com \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=disgoel@linux.vnet.ibm.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=kjain@linux.ibm.com \
--cc=linux-perf-users@vger.kernel.org \
--cc=maddy@linux.ibm.com \
--cc=namhyung@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).