From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
James Clark <james.clark@linaro.org>,
Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Clark Williams <williams@redhat.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 2/4] perf bench: Constify tables
Date: Wed, 1 Apr 2026 21:17:38 -0300 [thread overview]
Message-ID: <20260402001740.2220481-3-acme@kernel.org> (raw)
In-Reply-To: <20260402001740.2220481-1-acme@kernel.org>
From: Arnaldo Carvalho de Melo <acme@redhat.com>
Those tables and variables don't change, better capture this by
explicitely using 'const'.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-bench.c | 42 +++++++++++++++++++-------------------
1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/tools/perf/builtin-bench.c b/tools/perf/builtin-bench.c
index 02dea1b8822864e8..02d47913cc6a3fae 100644
--- a/tools/perf/builtin-bench.c
+++ b/tools/perf/builtin-bench.c
@@ -37,14 +37,14 @@ struct bench {
};
#ifdef HAVE_LIBNUMA_SUPPORT
-static struct bench numa_benchmarks[] = {
+static const struct bench numa_benchmarks[] = {
{ "mem", "Benchmark for NUMA workloads", bench_numa },
{ "all", "Run all NUMA benchmarks", NULL },
{ NULL, NULL, NULL }
};
#endif
-static struct bench sched_benchmarks[] = {
+static const struct bench sched_benchmarks[] = {
{ "messaging", "Benchmark for scheduling and IPC", bench_sched_messaging },
{ "pipe", "Benchmark for pipe() between two processes", bench_sched_pipe },
{ "seccomp-notify", "Benchmark for seccomp user notify", bench_sched_seccomp_notify},
@@ -52,7 +52,7 @@ static struct bench sched_benchmarks[] = {
{ NULL, NULL, NULL }
};
-static struct bench syscall_benchmarks[] = {
+static const struct bench syscall_benchmarks[] = {
{ "basic", "Benchmark for basic getppid(2) calls", bench_syscall_basic },
{ "getpgid", "Benchmark for getpgid(2) calls", bench_syscall_getpgid },
{ "fork", "Benchmark for fork(2) calls", bench_syscall_fork },
@@ -61,7 +61,7 @@ static struct bench syscall_benchmarks[] = {
{ NULL, NULL, NULL },
};
-static struct bench mem_benchmarks[] = {
+static const struct bench mem_benchmarks[] = {
{ "memcpy", "Benchmark for memcpy() functions", bench_mem_memcpy },
{ "memset", "Benchmark for memset() functions", bench_mem_memset },
{ "find_bit", "Benchmark for find_bit() functions", bench_mem_find_bit },
@@ -70,7 +70,7 @@ static struct bench mem_benchmarks[] = {
{ NULL, NULL, NULL }
};
-static struct bench futex_benchmarks[] = {
+static const struct bench futex_benchmarks[] = {
{ "hash", "Benchmark for futex hash table", bench_futex_hash },
{ "wake", "Benchmark for futex wake calls", bench_futex_wake },
{ "wake-parallel", "Benchmark for parallel futex wake calls", bench_futex_wake_parallel },
@@ -82,7 +82,7 @@ static struct bench futex_benchmarks[] = {
};
#ifdef HAVE_EVENTFD_SUPPORT
-static struct bench epoll_benchmarks[] = {
+static const struct bench epoll_benchmarks[] = {
{ "wait", "Benchmark epoll concurrent epoll_waits", bench_epoll_wait },
{ "ctl", "Benchmark epoll concurrent epoll_ctls", bench_epoll_ctl },
{ "all", "Run all futex benchmarks", NULL },
@@ -90,7 +90,7 @@ static struct bench epoll_benchmarks[] = {
};
#endif // HAVE_EVENTFD_SUPPORT
-static struct bench internals_benchmarks[] = {
+static const struct bench internals_benchmarks[] = {
{ "synthesize", "Benchmark perf event synthesis", bench_synthesize },
{ "kallsyms-parse", "Benchmark kallsyms parsing", bench_kallsyms_parse },
{ "inject-build-id", "Benchmark build-id injection", bench_inject_build_id },
@@ -99,14 +99,14 @@ static struct bench internals_benchmarks[] = {
{ NULL, NULL, NULL }
};
-static struct bench breakpoint_benchmarks[] = {
+static const struct bench breakpoint_benchmarks[] = {
{ "thread", "Benchmark thread start/finish with breakpoints", bench_breakpoint_thread},
{ "enable", "Benchmark breakpoint enable/disable", bench_breakpoint_enable},
{ "all", "Run all breakpoint benchmarks", NULL},
{ NULL, NULL, NULL },
};
-static struct bench uprobe_benchmarks[] = {
+static const struct bench uprobe_benchmarks[] = {
{ "baseline", "Baseline libc usleep(1000) call", bench_uprobe_baseline, },
{ "empty", "Attach empty BPF prog to uprobe on usleep, system wide", bench_uprobe_empty, },
{ "trace_printk", "Attach trace_printk BPF prog to uprobe on usleep syswide", bench_uprobe_trace_printk, },
@@ -116,12 +116,12 @@ static struct bench uprobe_benchmarks[] = {
};
struct collection {
- const char *name;
- const char *summary;
- struct bench *benchmarks;
+ const char *name;
+ const char *summary;
+ const struct bench *benchmarks;
};
-static struct collection collections[] = {
+static const struct collection collections[] = {
{ "sched", "Scheduler and IPC benchmarks", sched_benchmarks },
{ "syscall", "System call benchmarks", syscall_benchmarks },
{ "mem", "Memory access benchmarks", mem_benchmarks },
@@ -147,9 +147,9 @@ static struct collection collections[] = {
#define for_each_bench(coll, bench) \
for (bench = coll->benchmarks; bench && bench->name; bench++)
-static void dump_benchmarks(struct collection *coll)
+static void dump_benchmarks(const struct collection *coll)
{
- struct bench *bench;
+ const struct bench *bench;
printf("\n # List of available benchmarks for collection '%s':\n\n", coll->name);
@@ -178,7 +178,7 @@ static const char * const bench_usage[] = {
static void print_usage(void)
{
- struct collection *coll;
+ const struct collection *coll;
int i;
printf("Usage: \n");
@@ -234,9 +234,9 @@ static int run_bench(const char *coll_name, const char *bench_name, bench_fn_t f
return ret;
}
-static void run_collection(struct collection *coll)
+static void run_collection(const struct collection *coll)
{
- struct bench *bench;
+ const struct bench *bench;
const char *argv[2];
argv[1] = NULL;
@@ -260,7 +260,7 @@ static void run_collection(struct collection *coll)
static void run_all_collections(void)
{
- struct collection *coll;
+ const struct collection *coll;
for_each_collection(coll)
run_collection(coll);
@@ -268,7 +268,7 @@ static void run_all_collections(void)
int cmd_bench(int argc, const char **argv)
{
- struct collection *coll;
+ const struct collection *coll;
int ret = 0;
/* Unbuffered output */
@@ -306,7 +306,7 @@ int cmd_bench(int argc, const char **argv)
}
for_each_collection(coll) {
- struct bench *bench;
+ const struct bench *bench;
if (strcmp(coll->name, argv[0]))
continue;
--
2.53.0
next prev parent reply other threads:[~2026-04-02 0:20 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-02 0:17 [PATCHES v3 perf-tools-next 0/4] Cleanups and a fix Arnaldo Carvalho de Melo
2026-04-02 0:17 ` [PATCH 1/4] perf tools: Make more global variables static Arnaldo Carvalho de Melo
2026-04-02 0:17 ` Arnaldo Carvalho de Melo [this message]
2026-04-02 0:17 ` [PATCH 3/4] perf tools: Use calloc() were applicable Arnaldo Carvalho de Melo
2026-04-02 0:17 ` [PATCH 4/4] perf symbol: Add missing libgen.h include to get basename() prototype Arnaldo Carvalho de Melo
2026-04-02 15:19 ` Ian Rogers
2026-04-02 15:48 ` Arnaldo Melo
-- strict thread matches above, loose matches on Subject: below --
2026-04-01 21:53 [PATCHES v2 perf-tools-next 0/4] Cleanups and a fix Arnaldo Carvalho de Melo
2026-04-01 21:53 ` [PATCH 2/4] perf bench: Constify tables Arnaldo Carvalho de Melo
2026-04-01 21:01 [PATCHES perf-tools-next 0/4] Cleanups and a fix Arnaldo Carvalho de Melo
2026-04-01 21:02 ` [PATCH 2/4] perf bench: Constify tables Arnaldo Carvalho de Melo
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=20260402001740.2220481-3-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=tglx@linutronix.de \
--cc=williams@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox