* [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names @ 2025-12-08 17:23 Ian Rogers 2025-12-11 1:12 ` Jayaramappa, Srilakshmi 0 siblings, 1 reply; 4+ messages in thread From: Ian Rogers @ 2025-12-08 17:23 UTC (permalink / raw) To: Sri Jayaramappa, Guilherme Amadio, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Alexander Shishkin, Jiri Olsa, Ian Rogers, Adrian Hunter, linux-perf-users, linux-kernel The test is based on an error/fix poseted to linux-perf-users. Reported-by: Sri Jayaramappa <sjayaram@akamai.com> Closes: https://lore.kernel.org/linux-perf-users/20251202213632.2873731-1-sjayaram@akamai.com/ Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/tests/subcmd-help.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/perf/tests/subcmd-help.c b/tools/perf/tests/subcmd-help.c index 2280b4c0e5e7..9da96a16fd20 100644 --- a/tools/perf/tests/subcmd-help.c +++ b/tools/perf/tests/subcmd-help.c @@ -95,10 +95,36 @@ static int test__exclude_cmdnames(struct test_suite *test __maybe_unused, return TEST_OK; } +static int test__exclude_cmdnames_no_overlap(struct test_suite *test __maybe_unused, + int subtest __maybe_unused) +{ + struct cmdnames cmds1 = {}; + struct cmdnames cmds2 = {}; + + add_cmdname(&cmds1, "read-vdso32", 11); + add_cmdname(&cmds2, "archive", 7); + + TEST_ASSERT_VAL("invalid original size", cmds1.cnt == 1); + TEST_ASSERT_VAL("invalid original size", cmds2.cnt == 1); + + exclude_cmds(&cmds1, &cmds2); + + TEST_ASSERT_VAL("invalid excluded size", cmds1.cnt == 1); + TEST_ASSERT_VAL("invalid excluded size", cmds2.cnt == 1); + + TEST_ASSERT_VAL("cannot find cmd", is_in_cmdlist(&cmds1, "read-vdso32") == 1); + TEST_ASSERT_VAL("wrong cmd", is_in_cmdlist(&cmds1, "archive") == 0); + + clean_cmdnames(&cmds1); + clean_cmdnames(&cmds2); + return TEST_OK; +} + static struct test_case tests__subcmd_help[] = { TEST_CASE("Load subcmd names", load_cmdnames), TEST_CASE("Uniquify subcmd names", uniq_cmdnames), TEST_CASE("Exclude duplicate subcmd names", exclude_cmdnames), + TEST_CASE("Exclude disjoint subcmd names", exclude_cmdnames_no_overlap), { .name = NULL, } }; -- 2.52.0.223.gf5cc29aaa4-goog ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names 2025-12-08 17:23 [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names Ian Rogers @ 2025-12-11 1:12 ` Jayaramappa, Srilakshmi 2026-01-08 19:27 ` Ian Rogers 0 siblings, 1 reply; 4+ messages in thread From: Jayaramappa, Srilakshmi @ 2025-12-11 1:12 UTC (permalink / raw) To: Ian Rogers, Guilherme Amadio, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Alexander Shishkin, Jiri Olsa, Adrian Hunter, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org ________________________________________ From: Ian Rogers <irogers@google.com> Sent: Monday, December 8, 2025 9:23 AM To: Jayaramappa, Srilakshmi; Guilherme Amadio; Peter Zijlstra; Ingo Molnar; Arnaldo Carvalho de Melo; Namhyung Kim; Alexander Shishkin; Jiri Olsa; Ian Rogers; Adrian Hunter; linux-perf-users@vger.kernel.org; linux-kernel@vger.kernel.org Subject: [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names !-------------------------------------------------------------------| This Message Is From an External Sender This message came from outside your organization. |-------------------------------------------------------------------! The test is based on an error/fix poseted to linux-perf-users. Reported-by: Sri Jayaramappa <sjayaram@akamai.com> Closes: https://urldefense.com/v3/__https://lore.kernel.org/linux-perf-users/20251202213632.2873731-1-sjayaram@akamai.com/__;!!GjvTz_vk!XehekKNUE4Ib_tvqIH6PMIIhly4X3BZ-Y40RC1HKMQ-6OdYEFvUPQhyWv_gk9vsRRN4_RcOLS2Bh0CQ$ Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/tests/subcmd-help.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/perf/tests/subcmd-help.c b/tools/perf/tests/subcmd-help.c index 2280b4c0e5e7..9da96a16fd20 100644 --- a/tools/perf/tests/subcmd-help.c +++ b/tools/perf/tests/subcmd-help.c @@ -95,10 +95,36 @@ static int test__exclude_cmdnames(struct test_suite *test __maybe_unused, return TEST_OK; } +static int test__exclude_cmdnames_no_overlap(struct test_suite *test __maybe_unused, + int subtest __maybe_unused) +{ + struct cmdnames cmds1 = {}; + struct cmdnames cmds2 = {}; + + add_cmdname(&cmds1, "read-vdso32", 11); + add_cmdname(&cmds2, "archive", 7); + + TEST_ASSERT_VAL("invalid original size", cmds1.cnt == 1); + TEST_ASSERT_VAL("invalid original size", cmds2.cnt == 1); + + exclude_cmds(&cmds1, &cmds2); + + TEST_ASSERT_VAL("invalid excluded size", cmds1.cnt == 1); + TEST_ASSERT_VAL("invalid excluded size", cmds2.cnt == 1); + + TEST_ASSERT_VAL("cannot find cmd", is_in_cmdlist(&cmds1, "read-vdso32") == 1); + TEST_ASSERT_VAL("wrong cmd", is_in_cmdlist(&cmds1, "archive") == 0); + + clean_cmdnames(&cmds1); + clean_cmdnames(&cmds2); + return TEST_OK; +} + static struct test_case tests__subcmd_help[] = { TEST_CASE("Load subcmd names", load_cmdnames), TEST_CASE("Uniquify subcmd names", uniq_cmdnames), TEST_CASE("Exclude duplicate subcmd names", exclude_cmdnames), + TEST_CASE("Exclude disjoint subcmd names", exclude_cmdnames_no_overlap), { .name = NULL, } }; -- 2.52.0.223.gf5cc29aaa4-goog Reviewed-by: Sri Jayaramappa <sjayaram@akamai.com> Looks good, thank you ! ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names 2025-12-11 1:12 ` Jayaramappa, Srilakshmi @ 2026-01-08 19:27 ` Ian Rogers 2026-01-13 14:41 ` Guilherme Amadio 0 siblings, 1 reply; 4+ messages in thread From: Ian Rogers @ 2026-01-08 19:27 UTC (permalink / raw) To: Jayaramappa, Srilakshmi Cc: Guilherme Amadio, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Alexander Shishkin, Jiri Olsa, Adrian Hunter, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org On Wed, Dec 10, 2025 at 5:12 PM Jayaramappa, Srilakshmi <sjayaram@akamai.com> wrote: > > > ________________________________________ > From: Ian Rogers <irogers@google.com> > Sent: Monday, December 8, 2025 9:23 AM > To: Jayaramappa, Srilakshmi; Guilherme Amadio; Peter Zijlstra; Ingo Molnar; Arnaldo Carvalho de Melo; Namhyung Kim; Alexander Shishkin; Jiri Olsa; Ian Rogers; Adrian Hunter; linux-perf-users@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names > > !-------------------------------------------------------------------| > This Message Is From an External Sender > This message came from outside your organization. > |-------------------------------------------------------------------! > > The test is based on an error/fix poseted to linux-perf-users. > > Reported-by: Sri Jayaramappa <sjayaram@akamai.com> > Closes: https://urldefense.com/v3/__https://lore.kernel.org/linux-perf-users/20251202213632.2873731-1-sjayaram@akamai.com/__;!!GjvTz_vk!XehekKNUE4Ib_tvqIH6PMIIhly4X3BZ-Y40RC1HKMQ-6OdYEFvUPQhyWv_gk9vsRRN4_RcOLS2Bh0CQ$ > Signed-off-by: Ian Rogers <irogers@google.com> > --- > tools/perf/tests/subcmd-help.c | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/tools/perf/tests/subcmd-help.c b/tools/perf/tests/subcmd-help.c > index 2280b4c0e5e7..9da96a16fd20 100644 > --- a/tools/perf/tests/subcmd-help.c > +++ b/tools/perf/tests/subcmd-help.c > @@ -95,10 +95,36 @@ static int test__exclude_cmdnames(struct test_suite *test __maybe_unused, > return TEST_OK; > } > > +static int test__exclude_cmdnames_no_overlap(struct test_suite *test __maybe_unused, > + int subtest __maybe_unused) > +{ > + struct cmdnames cmds1 = {}; > + struct cmdnames cmds2 = {}; > + > + add_cmdname(&cmds1, "read-vdso32", 11); > + add_cmdname(&cmds2, "archive", 7); > + > + TEST_ASSERT_VAL("invalid original size", cmds1.cnt == 1); > + TEST_ASSERT_VAL("invalid original size", cmds2.cnt == 1); > + > + exclude_cmds(&cmds1, &cmds2); > + > + TEST_ASSERT_VAL("invalid excluded size", cmds1.cnt == 1); > + TEST_ASSERT_VAL("invalid excluded size", cmds2.cnt == 1); > + > + TEST_ASSERT_VAL("cannot find cmd", is_in_cmdlist(&cmds1, "read-vdso32") == 1); > + TEST_ASSERT_VAL("wrong cmd", is_in_cmdlist(&cmds1, "archive") == 0); > + > + clean_cmdnames(&cmds1); > + clean_cmdnames(&cmds2); > + return TEST_OK; > +} > + > static struct test_case tests__subcmd_help[] = { > TEST_CASE("Load subcmd names", load_cmdnames), > TEST_CASE("Uniquify subcmd names", uniq_cmdnames), > TEST_CASE("Exclude duplicate subcmd names", exclude_cmdnames), > + TEST_CASE("Exclude disjoint subcmd names", exclude_cmdnames_no_overlap), > { .name = NULL, } > }; > > -- > 2.52.0.223.gf5cc29aaa4-goog > > > Reviewed-by: Sri Jayaramappa <sjayaram@akamai.com> Ping. Thanks, Ian > Looks good, thank you ! ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names 2026-01-08 19:27 ` Ian Rogers @ 2026-01-13 14:41 ` Guilherme Amadio 0 siblings, 0 replies; 4+ messages in thread From: Guilherme Amadio @ 2026-01-13 14:41 UTC (permalink / raw) To: Ian Rogers Cc: Jayaramappa, Srilakshmi, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo, Namhyung Kim, Alexander Shishkin, Jiri Olsa, Adrian Hunter, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Dear Ian, On Thu, Jan 08, 2026 at 11:27:51AM -0800, Ian Rogers wrote: > On Wed, Dec 10, 2025 at 5:12 PM Jayaramappa, Srilakshmi > <sjayaram@akamai.com> wrote: > > > > > > ________________________________________ > > From: Ian Rogers <irogers@google.com> > > Sent: Monday, December 8, 2025 9:23 AM > > To: Jayaramappa, Srilakshmi; Guilherme Amadio; Peter Zijlstra; Ingo Molnar; Arnaldo Carvalho de Melo; Namhyung Kim; Alexander Shishkin; Jiri Olsa; Ian Rogers; Adrian Hunter; linux-perf-users@vger.kernel.org; linux-kernel@vger.kernel.org > > Subject: [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names > > > > !-------------------------------------------------------------------| > > This Message Is From an External Sender > > This message came from outside your organization. > > |-------------------------------------------------------------------! > > > > The test is based on an error/fix poseted to linux-perf-users. > > > > Reported-by: Sri Jayaramappa <sjayaram@akamai.com> > > Closes: https://urldefense.com/v3/__https://lore.kernel.org/linux-perf-users/20251202213632.2873731-1-sjayaram@akamai.com/__;!!GjvTz_vk!XehekKNUE4Ib_tvqIH6PMIIhly4X3BZ-Y40RC1HKMQ-6OdYEFvUPQhyWv_gk9vsRRN4_RcOLS2Bh0CQ$ > > Signed-off-by: Ian Rogers <irogers@google.com> > > --- > > tools/perf/tests/subcmd-help.c | 26 ++++++++++++++++++++++++++ > > 1 file changed, 26 insertions(+) > > > > diff --git a/tools/perf/tests/subcmd-help.c b/tools/perf/tests/subcmd-help.c > > index 2280b4c0e5e7..9da96a16fd20 100644 > > --- a/tools/perf/tests/subcmd-help.c > > +++ b/tools/perf/tests/subcmd-help.c > > @@ -95,10 +95,36 @@ static int test__exclude_cmdnames(struct test_suite *test __maybe_unused, > > return TEST_OK; > > } > > > > +static int test__exclude_cmdnames_no_overlap(struct test_suite *test __maybe_unused, > > + int subtest __maybe_unused) > > +{ > > + struct cmdnames cmds1 = {}; > > + struct cmdnames cmds2 = {}; > > + > > + add_cmdname(&cmds1, "read-vdso32", 11); > > + add_cmdname(&cmds2, "archive", 7); > > + > > + TEST_ASSERT_VAL("invalid original size", cmds1.cnt == 1); > > + TEST_ASSERT_VAL("invalid original size", cmds2.cnt == 1); > > + > > + exclude_cmds(&cmds1, &cmds2); > > + > > + TEST_ASSERT_VAL("invalid excluded size", cmds1.cnt == 1); > > + TEST_ASSERT_VAL("invalid excluded size", cmds2.cnt == 1); > > + > > + TEST_ASSERT_VAL("cannot find cmd", is_in_cmdlist(&cmds1, "read-vdso32") == 1); > > + TEST_ASSERT_VAL("wrong cmd", is_in_cmdlist(&cmds1, "archive") == 0); > > + > > + clean_cmdnames(&cmds1); > > + clean_cmdnames(&cmds2); > > + return TEST_OK; > > +} > > + > > static struct test_case tests__subcmd_help[] = { > > TEST_CASE("Load subcmd names", load_cmdnames), > > TEST_CASE("Uniquify subcmd names", uniq_cmdnames), > > TEST_CASE("Exclude duplicate subcmd names", exclude_cmdnames), > > + TEST_CASE("Exclude disjoint subcmd names", exclude_cmdnames_no_overlap), > > { .name = NULL, } > > }; > > > > -- > > 2.52.0.223.gf5cc29aaa4-goog > > > > > > Reviewed-by: Sri Jayaramappa <sjayaram@akamai.com> > > Ping. Assuming this is for me, I just tried the test and it correctly fails for me on perf-tools-next (I applied the diff by hand, as it didn't apply cleanly onto the commit below): gentoo linux $ git log -1 --format=short commit 75326c67aa8c43000819a2ac29f22eb27846d545 (HEAD -> perf-tools-next, perf-tools-next/tmp.perf-tools-next, perf-tools-next/perf-tools-next) Author: Derek Foreman <derek.foreman@collabora.com> perf data: Fix coding style gentoo linux $ tools/perf/perf version perf version 6.19.rc4.g75326c67aa8c gentoo linux $ git diff --stat tools/perf/tests/subcmd-help.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) gentoo linux $ sudo ./tools/perf/perf test -vF disjoint --- start --- perf: help.c:107: exclude_cmds: Assertion `cmds->names[ci] == NULL' failed. Aborted (core dumped) tools/perf/perf test -vF disjoint Then I applied the patch by Sri Jayaramappa with the fix, and the test now works: gentoo linux $ sudo tools/perf/perf test -vF disjoint --- start --- ---- end ---- 68.4: Exclude disjoint subcmd names : Ok So you can add a Reviewed-by: Guilherme Amadio <amadio@gentoo.org> and/or Tested-by: Guilherme Amadio <amadio@gentoo.org> for both this and the patch at the link below: https://lore.kernel.org/lkml/20251202213632.2873731-1-sjayaram@akamai.com/ Cheers, -Guilherme ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-01-13 14:42 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-08 17:23 [PATCH v1] perf test subcmd help: Add exclude disjoint subcmd names Ian Rogers 2025-12-11 1:12 ` Jayaramappa, Srilakshmi 2026-01-08 19:27 ` Ian Rogers 2026-01-13 14:41 ` Guilherme Amadio
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox