From: Aditya Gupta <adityag@linux.ibm.com>
To: acme@kernel.org, jolsa@kernel.org, irogers@google.com,
namhyung@kernel.org
Cc: 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: [PATCH v13 7/7] perf: Add more features to supported_features list
Date: Thu, 18 Jul 2024 14:29:57 +0530 [thread overview]
Message-ID: <20240718085957.550858-8-adityag@linux.ibm.com> (raw)
In-Reply-To: <20240718085957.550858-1-adityag@linux.ibm.com>
As suggested in [1], add more feature names and corresponding names,
based on the information in Makefile.config
The entries were added after seeing the corresponding -D option which is
added to CFLAGS, based on the presence of a feature in Makefile.config,
such as:
ifeq ($(feature-file-handle), 1)
CFLAGS += -DHAVE_FILE_HANDLE
endif
For above feature 'file-handle', corresponding entry has been added to
supported_features as below:
FEATURE_STATUS("file-handle", HAVE_FILE_HANDLE)
[1]: https://lore.kernel.org/linux-perf-users/Zn7EvDbsnlbLXj4g@x1/
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Cc: Disha Goel <disgoel@linux.vnet.ibm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Kajol Jain <kjain@linux.ibm.com>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Aditya Gupta <adityag@linux.ibm.com>
---
Could not add below features to the list:
* 'fortify-source': is a compiler option, doesn't add any feature MACRO
* 'stackprotector-all': is a compiler option, doesn't add any feature MACRO
* 'libtracefs': defines 'LIBTRACEFS_VERSION', not something like 'HAVE_LIBTRACEFS_SUPPORT'
* 'reallocarray': it's absence is known by 'COMPAT_NEED_REALLOCARRAY', but no flag for 'presence' of feature
Also, few names may feel inconsistent, but left as is:
* 'HAVE_GETTID': could be 'HAVE_GETTID_SUPPORT'
* 'LIBC_SUPPORT': could be 'HAVE_LIBC_SUPPORT'
* 'HAVE_LIBNUMA_SUPPORT': used by both 'numa_num_possible_cpus' and
'libnuma', can remove one of those
* Currently some features have '_' in name, others have '-'
---
---
tools/perf/Documentation/perf-check.txt | 78 ++++++++++++++++---------
tools/perf/builtin-check.c | 28 ++++++++-
2 files changed, 77 insertions(+), 29 deletions(-)
diff --git a/tools/perf/Documentation/perf-check.txt b/tools/perf/Documentation/perf-check.txt
index 10f69fb6850b..cc1fe02ca01a 100644
--- a/tools/perf/Documentation/perf-check.txt
+++ b/tools/perf/Documentation/perf-check.txt
@@ -43,33 +43,57 @@ feature::
perf check feature libtraceevent,bpf
Supported feature names/macro:
- aio / HAVE_AIO_SUPPORT
- bpf / HAVE_LIBBPF_SUPPORT
- bpf_skeletons / HAVE_BPF_SKEL
- debuginfod / HAVE_DEBUGINFOD_SUPPORT
- dwarf / HAVE_DWARF_SUPPORT
- dwarf_getlocations / HAVE_DWARF_GETLOCATIONS_SUPPORT
- dwarf-unwind / HAVE_DWARF_UNWIND_SUPPORT
- auxtrace / HAVE_AUXTRACE_SUPPORT
- libaudit / HAVE_LIBAUDIT_SUPPORT
- libbfd / HAVE_LIBBFD_SUPPORT
- libcapstone / HAVE_LIBCAPSTONE_SUPPORT
- libcrypto / HAVE_LIBCRYPTO_SUPPORT
- libdw-dwarf-unwind / HAVE_DWARF_SUPPORT
- libelf / HAVE_LIBELF_SUPPORT
- libnuma / HAVE_LIBNUMA_SUPPORT
- libopencsd / HAVE_CSTRACE_SUPPORT
- libperl / HAVE_LIBPERL_SUPPORT
- libpfm4 / HAVE_LIBPFM
- libpython / HAVE_LIBPYTHON_SUPPORT
- libslang / HAVE_SLANG_SUPPORT
- libtraceevent / HAVE_LIBTRACEEVENT
- libunwind / HAVE_LIBUNWIND_SUPPORT
- lzma / HAVE_LZMA_SUPPORT
- numa_num_possible_cpus / HAVE_LIBNUMA_SUPPORT
- syscall_table / HAVE_SYSCALL_TABLE_SUPPORT
- zlib / HAVE_ZLIB_SUPPORT
- zstd / HAVE_ZSTD_SUPPORT
+ aio / HAVE_AIO_SUPPORT
+ auxtrace / HAVE_AUXTRACE_SUPPORT
+ backtrace / HAVE_BACKTRACE_SUPPORT
+ bpf / HAVE_LIBBPF_SUPPORT
+ bpf_skeletons / HAVE_BPF_SKEL
+ debuginfod / HAVE_DEBUGINFOD_SUPPORT
+ disassembler-four-args / DISASM_FOUR_ARGS_SIGNATURE
+ disassembler-init-styled / DISASM_INIT_STYLED
+ dwarf_getcfi / HAVE_DWARF_CFI_SUPPORT
+ dwarf_getlocations / HAVE_DWARF_GETLOCATIONS_SUPPORT
+ dwarf / HAVE_DWARF_SUPPORT
+ dwarf-unwind / HAVE_DWARF_UNWIND_SUPPORT
+ eventfd / HAVE_EVENTFD_SUPPORT
+ file-handle / HAVE_FILE_HANDLE
+ get_current_dir_name / HAVE_GET_CURRENT_DIR_NAME
+ gettid / HAVE_GETTID
+ glibc / LIBC_SUPPORT
+ libaio / HAVE_AIO_SUPPORT
+ libaudit / HAVE_LIBAUDIT_SUPPORT
+ libbfd-buildid / HAVE_LIBBFD_BUILDID_SUPPORT
+ libbfd / HAVE_LIBBFD_SUPPORT
+ libcap / HAVE_LIBCAP_SUPPORT
+ libcapstone / HAVE_LIBCAPSTONE_SUPPORT
+ libcrypto / HAVE_LIBCRYPTO_SUPPORT
+ libdw-dwarf-unwind / HAVE_DWARF_SUPPORT
+ libelf-gelf_getnote / HAVE_GELF_GETNOTE_SUPPORT
+ libelf-getphdrnum / HAVE_ELF_GETPHDRNUM_SUPPORT
+ libelf-getshdrstrndx / HAVE_ELF_GETSHDRSTRNDX_SUPPORT
+ libelf / HAVE_LIBELF_SUPPORT
+ libnuma / HAVE_LIBNUMA_SUPPORT
+ libopencsd / HAVE_CSTRACE_SUPPORT
+ libperl / HAVE_LIBPERL_SUPPORT
+ libpfm4 / HAVE_LIBPFM
+ libpython / HAVE_LIBPYTHON_SUPPORT
+ libslang / HAVE_SLANG_SUPPORT
+ libslang-include-subdir / HAVE_SLANG_INCLUDE_SUBDIR
+ libtraceevent / HAVE_LIBTRACEEVENT
+ libunwind / HAVE_LIBUNWIND_SUPPORT
+ libzstd / HAVE_ZSTD_SUPPORT
+ lzma / HAVE_LZMA_SUPPORT
+ numa_num_possible_cpus / HAVE_LIBNUMA_SUPPORT
+ pthread-attr-setaffinity-np / HAVE_PTHREAD_ATTR_SETAFFINITY_NP
+ pthread-barrier / HAVE_PTHREAD_BARRIER
+ scandirat / HAVE_SCANDIRAT_SUPPORT
+ sched_getcpu / HAVE_SCHED_GETCPU_SUPPORT
+ sdt / HAVE_SDT_EVENT
+ setns / HAVE_SETNS_SUPPORT
+ syscall_table / HAVE_SYSCALL_TABLE_SUPPORT
+ timerfd / HAVE_TIMERFD_SUPPORT
+ zlib / HAVE_ZLIB_SUPPORT
+ zstd / HAVE_ZSTD_SUPPORT
OPTIONS
-------
diff --git a/tools/perf/builtin-check.c b/tools/perf/builtin-check.c
index 0b76b6e42b78..8c1deee80a68 100644
--- a/tools/perf/builtin-check.c
+++ b/tools/perf/builtin-check.c
@@ -24,18 +24,33 @@ static const char *check_feature_usage[] = {
struct feature_status supported_features[] = {
FEATURE_STATUS("aio", HAVE_AIO_SUPPORT),
+ FEATURE_STATUS("auxtrace", HAVE_AUXTRACE_SUPPORT),
+ FEATURE_STATUS("backtrace", HAVE_BACKTRACE_SUPPORT),
FEATURE_STATUS("bpf", HAVE_LIBBPF_SUPPORT),
FEATURE_STATUS("bpf_skeletons", HAVE_BPF_SKEL),
FEATURE_STATUS("debuginfod", HAVE_DEBUGINFOD_SUPPORT),
- FEATURE_STATUS("dwarf", HAVE_DWARF_SUPPORT),
+ FEATURE_STATUS("disassembler-four-args", DISASM_FOUR_ARGS_SIGNATURE),
+ FEATURE_STATUS("disassembler-init-styled", DISASM_INIT_STYLED),
+ FEATURE_STATUS("dwarf_getcfi", HAVE_DWARF_CFI_SUPPORT),
FEATURE_STATUS("dwarf_getlocations", HAVE_DWARF_GETLOCATIONS_SUPPORT),
+ FEATURE_STATUS("dwarf", HAVE_DWARF_SUPPORT),
FEATURE_STATUS("dwarf-unwind", HAVE_DWARF_UNWIND_SUPPORT),
- FEATURE_STATUS("auxtrace", HAVE_AUXTRACE_SUPPORT),
+ FEATURE_STATUS("eventfd", HAVE_EVENTFD_SUPPORT),
+ FEATURE_STATUS("file-handle", HAVE_FILE_HANDLE),
+ FEATURE_STATUS("get_current_dir_name", HAVE_GET_CURRENT_DIR_NAME),
+ FEATURE_STATUS("gettid", HAVE_GETTID),
+ FEATURE_STATUS("glibc", LIBC_SUPPORT),
+ FEATURE_STATUS("libaio", HAVE_AIO_SUPPORT),
FEATURE_STATUS("libaudit", HAVE_LIBAUDIT_SUPPORT),
+ FEATURE_STATUS("libbfd-buildid", HAVE_LIBBFD_BUILDID_SUPPORT),
FEATURE_STATUS("libbfd", HAVE_LIBBFD_SUPPORT),
+ FEATURE_STATUS("libcap", HAVE_LIBCAP_SUPPORT),
FEATURE_STATUS("libcapstone", HAVE_LIBCAPSTONE_SUPPORT),
FEATURE_STATUS("libcrypto", HAVE_LIBCRYPTO_SUPPORT),
FEATURE_STATUS("libdw-dwarf-unwind", HAVE_DWARF_SUPPORT),
+ FEATURE_STATUS("libelf-gelf_getnote", HAVE_GELF_GETNOTE_SUPPORT),
+ FEATURE_STATUS("libelf-getphdrnum", HAVE_ELF_GETPHDRNUM_SUPPORT),
+ FEATURE_STATUS("libelf-getshdrstrndx", HAVE_ELF_GETSHDRSTRNDX_SUPPORT),
FEATURE_STATUS("libelf", HAVE_LIBELF_SUPPORT),
FEATURE_STATUS("libnuma", HAVE_LIBNUMA_SUPPORT),
FEATURE_STATUS("libopencsd", HAVE_CSTRACE_SUPPORT),
@@ -43,11 +58,20 @@ struct feature_status supported_features[] = {
FEATURE_STATUS("libpfm4", HAVE_LIBPFM),
FEATURE_STATUS("libpython", HAVE_LIBPYTHON_SUPPORT),
FEATURE_STATUS("libslang", HAVE_SLANG_SUPPORT),
+ FEATURE_STATUS("libslang-include-subdir", HAVE_SLANG_INCLUDE_SUBDIR),
FEATURE_STATUS("libtraceevent", HAVE_LIBTRACEEVENT),
FEATURE_STATUS("libunwind", HAVE_LIBUNWIND_SUPPORT),
+ FEATURE_STATUS("libzstd", HAVE_ZSTD_SUPPORT),
FEATURE_STATUS("lzma", HAVE_LZMA_SUPPORT),
FEATURE_STATUS("numa_num_possible_cpus", HAVE_LIBNUMA_SUPPORT),
+ FEATURE_STATUS("pthread-attr-setaffinity-np", HAVE_PTHREAD_ATTR_SETAFFINITY_NP),
+ FEATURE_STATUS("pthread-barrier", HAVE_PTHREAD_BARRIER),
+ FEATURE_STATUS("scandirat", HAVE_SCANDIRAT_SUPPORT),
+ FEATURE_STATUS("sched_getcpu", HAVE_SCHED_GETCPU_SUPPORT),
+ FEATURE_STATUS("sdt", HAVE_SDT_EVENT),
+ FEATURE_STATUS("setns", HAVE_SETNS_SUPPORT),
FEATURE_STATUS("syscall_table", HAVE_SYSCALL_TABLE_SUPPORT),
+ FEATURE_STATUS("timerfd", HAVE_TIMERFD_SUPPORT),
FEATURE_STATUS("zlib", HAVE_ZLIB_SUPPORT),
FEATURE_STATUS("zstd", HAVE_ZSTD_SUPPORT),
--
2.45.2
next prev parent reply other threads:[~2024-07-18 9:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-18 8:59 [PATCH v13 0/7] Introduce perf check subcommand Aditya Gupta
2024-07-18 8:59 ` [PATCH v13 1/7] tools/lib/subcmd: Don't free the usage string Aditya Gupta
2024-07-18 9:07 ` Aditya Gupta
2024-07-26 14:23 ` Arnaldo Carvalho de Melo
2024-07-28 19:58 ` Aditya Gupta
2024-07-18 8:59 ` [PATCH v13 2/7] perf check: Introduce 'check' subcommand Aditya Gupta
2024-07-18 8:59 ` [PATCH v13 3/7] perf version: Update --build-options to use 'supported_features' array Aditya Gupta
2024-07-18 8:59 ` [PATCH v13 4/7] tools/perf/tests: Update test_task_analyzer.sh to use perf check feature Aditya Gupta
2024-07-18 8:59 ` [PATCH v13 5/7] tools/perf/tests: Update probe_vfs_getname.sh script " Aditya Gupta
2024-07-18 8:59 ` [PATCH v13 6/7] perf: Fix inconsistencies in feature names Aditya Gupta
2024-07-18 8:59 ` Aditya Gupta [this message]
2024-07-18 9:09 ` [PATCH v13 0/7] Introduce perf check subcommand Aditya Gupta
2024-09-03 15:30 ` Arnaldo Carvalho de Melo
2024-09-04 5:41 ` 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=20240718085957.550858-8-adityag@linux.ibm.com \
--to=adityag@linux.ibm.com \
--cc=acme@kernel.org \
--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).