* [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output @ 2022-11-30 11:15 James Clark 2022-11-30 11:15 ` [PATCH 2/2] perf stat: Fix invalid output handle James Clark 2022-11-30 18:18 ` [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output Ian Rogers 0 siblings, 2 replies; 9+ messages in thread From: James Clark @ 2022-11-30 11:15 UTC (permalink / raw) To: linux-perf-users, acme, namhyung Cc: linux-kernel, James Clark, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa, Ian Rogers Commit c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON") renamed a field, so update the tests to reflect this. This fixes the following failure: $ sudo ./perf test "json output" -vvv 96: perf stat JSON output linter : --- start --- test child forked, pid 327720 Checking json output: no args [Success] Checking json output: system wide [Success] Checking json output: interval [Success] Checking json output: event [Success] Checking json output: per thread [Success] Checking json output: per node Test failed for input: ... Traceback (most recent call last): File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 93, in <module> check_json_output(expected_items) File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 78, in check_json_output raise RuntimeError(f'Unexpected key: key={key} value={value}') RuntimeError: Unexpected key: key=cpu-count value=16 test child finished with -1 ---- end ---- perf stat JSON output linter: FAILED! Fixes: c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON") Signed-off-by: James Clark <james.clark@arm.com> --- tools/perf/tests/shell/lib/perf_json_output_lint.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/tests/shell/lib/perf_json_output_lint.py b/tools/perf/tests/shell/lib/perf_json_output_lint.py index d90f8d102eb9..9c073e257d33 100644 --- a/tools/perf/tests/shell/lib/perf_json_output_lint.py +++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py @@ -54,7 +54,7 @@ def check_json_output(expected_items): raise RuntimeError(f'wrong number of fields. counted {count} expected {expected_items}' f' in \'{line}\'') checks = { - 'aggregate-number': lambda x: isfloat(x), + 'cpu-count': lambda x: isfloat(x), 'core': lambda x: True, 'counter-value': lambda x: is_counter_value(x), 'cgroup': lambda x: True, -- 2.25.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] perf stat: Fix invalid output handle 2022-11-30 11:15 [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output James Clark @ 2022-11-30 11:15 ` James Clark 2022-11-30 18:32 ` Namhyung Kim 2022-11-30 18:18 ` [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output Ian Rogers 1 sibling, 1 reply; 9+ messages in thread From: James Clark @ 2022-11-30 11:15 UTC (permalink / raw) To: linux-perf-users, acme, namhyung Cc: linux-kernel, James Clark, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa, Ian Rogers In this context, 'os' is already a pointer so the extra dereference isn't required. This fixes the following test failure on aarch64: $ ./perf test "json output" -vvv 92: perf stat JSON output linter : --- start --- Checking json output: no args Test failed for input: ... Fatal error: glibc detected an invalid stdio handle ---- end ---- perf stat JSON output linter: FAILED! Fixes: e7f4da312259 ("perf stat: Pass struct outstate to printout()") Signed-off-by: James Clark <james.clark@arm.com> --- tools/perf/util/stat-display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c index 847acdb5dc40..eac5ac3a734c 100644 --- a/tools/perf/util/stat-display.c +++ b/tools/perf/util/stat-display.c @@ -741,7 +741,7 @@ static void printout(struct perf_stat_config *config, struct outstate *os, perf_stat__print_shadow_stats(config, counter, uval, map_idx, &out, &config->metric_events, &rt_stat); } else { - pm(config, &os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); + pm(config, os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); } if (!config->metric_only) { -- 2.25.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] perf stat: Fix invalid output handle 2022-11-30 11:15 ` [PATCH 2/2] perf stat: Fix invalid output handle James Clark @ 2022-11-30 18:32 ` Namhyung Kim 2022-12-01 10:06 ` James Clark 0 siblings, 1 reply; 9+ messages in thread From: Namhyung Kim @ 2022-11-30 18:32 UTC (permalink / raw) To: James Clark Cc: linux-perf-users, acme, linux-kernel, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa, Ian Rogers On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote: > > In this context, 'os' is already a pointer so the extra dereference > isn't required. This fixes the following test failure on aarch64: > > $ ./perf test "json output" -vvv > 92: perf stat JSON output linter : > --- start --- > Checking json output: no args Test failed for input: > ... > Fatal error: glibc detected an invalid stdio handle > ---- end ---- > perf stat JSON output linter: FAILED! > > Fixes: e7f4da312259 ("perf stat: Pass struct outstate to printout()") > Signed-off-by: James Clark <james.clark@arm.com> Thanks for fixing this. I'm not sure how I missed it.. :( Acked-by: Namhyung Kim <namhyung@kernel.org> Thanks, Namhyung > --- > tools/perf/util/stat-display.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c > index 847acdb5dc40..eac5ac3a734c 100644 > --- a/tools/perf/util/stat-display.c > +++ b/tools/perf/util/stat-display.c > @@ -741,7 +741,7 @@ static void printout(struct perf_stat_config *config, struct outstate *os, > perf_stat__print_shadow_stats(config, counter, uval, map_idx, > &out, &config->metric_events, &rt_stat); > } else { > - pm(config, &os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); > + pm(config, os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); > } > > if (!config->metric_only) { > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] perf stat: Fix invalid output handle 2022-11-30 18:32 ` Namhyung Kim @ 2022-12-01 10:06 ` James Clark 2022-12-04 17:08 ` Athira Rajeev 0 siblings, 1 reply; 9+ messages in thread From: James Clark @ 2022-12-01 10:06 UTC (permalink / raw) To: Namhyung Kim Cc: linux-perf-users, acme, linux-kernel, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa, Ian Rogers On 30/11/2022 18:32, Namhyung Kim wrote: > On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote: >> >> In this context, 'os' is already a pointer so the extra dereference >> isn't required. This fixes the following test failure on aarch64: >> >> $ ./perf test "json output" -vvv >> 92: perf stat JSON output linter : >> --- start --- >> Checking json output: no args Test failed for input: >> ... >> Fatal error: glibc detected an invalid stdio handle >> ---- end ---- >> perf stat JSON output linter: FAILED! >> >> Fixes: e7f4da312259 ("perf stat: Pass struct outstate to printout()") >> Signed-off-by: James Clark <james.clark@arm.com> > > Thanks for fixing this. I'm not sure how I missed it.. :( > It seems to only go down that path on some configuration. At least on x86 the test was passing fine for me. > Acked-by: Namhyung Kim <namhyung@kernel.org> Thanks for the review! > > Thanks, > Namhyung > > >> --- >> tools/perf/util/stat-display.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c >> index 847acdb5dc40..eac5ac3a734c 100644 >> --- a/tools/perf/util/stat-display.c >> +++ b/tools/perf/util/stat-display.c >> @@ -741,7 +741,7 @@ static void printout(struct perf_stat_config *config, struct outstate *os, >> perf_stat__print_shadow_stats(config, counter, uval, map_idx, >> &out, &config->metric_events, &rt_stat); >> } else { >> - pm(config, &os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); >> + pm(config, os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); >> } >> >> if (!config->metric_only) { >> -- >> 2.25.1 >> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] perf stat: Fix invalid output handle 2022-12-01 10:06 ` James Clark @ 2022-12-04 17:08 ` Athira Rajeev 2022-12-05 13:07 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 9+ messages in thread From: Athira Rajeev @ 2022-12-04 17:08 UTC (permalink / raw) To: James Clark Cc: Namhyung Kim, linux-perf-users, Arnaldo Carvalho de Melo, LKML, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa, Ian Rogers > On 01-Dec-2022, at 3:36 PM, James Clark <james.clark@arm.com> wrote: > > > > On 30/11/2022 18:32, Namhyung Kim wrote: >> On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote: >>> >>> In this context, 'os' is already a pointer so the extra dereference >>> isn't required. This fixes the following test failure on aarch64: >>> >>> $ ./perf test "json output" -vvv >>> 92: perf stat JSON output linter : >>> --- start --- >>> Checking json output: no args Test failed for input: >>> ... >>> Fatal error: glibc detected an invalid stdio handle >>> ---- end ---- >>> perf stat JSON output linter: FAILED! >>> >>> Fixes: e7f4da312259 ("perf stat: Pass struct outstate to printout()") >>> Signed-off-by: James Clark <james.clark@arm.com> >> >> Thanks for fixing this. I'm not sure how I missed it.. :( >> > > It seems to only go down that path on some configuration. At least on > x86 the test was passing fine for me. > >> Acked-by: Namhyung Kim <namhyung@kernel.org> > > Thanks for the review! Faced same issue on powerpc. Tested with this change and it works with this patch. Tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Thanks Athira > >> >> Thanks, >> Namhyung >> >> >>> --- >>> tools/perf/util/stat-display.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c >>> index 847acdb5dc40..eac5ac3a734c 100644 >>> --- a/tools/perf/util/stat-display.c >>> +++ b/tools/perf/util/stat-display.c >>> @@ -741,7 +741,7 @@ static void printout(struct perf_stat_config *config, struct outstate *os, >>> perf_stat__print_shadow_stats(config, counter, uval, map_idx, >>> &out, &config->metric_events, &rt_stat); >>> } else { >>> - pm(config, &os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); >>> + pm(config, os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); >>> } >>> >>> if (!config->metric_only) { >>> -- >>> 2.25.1 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] perf stat: Fix invalid output handle 2022-12-04 17:08 ` Athira Rajeev @ 2022-12-05 13:07 ` Arnaldo Carvalho de Melo 0 siblings, 0 replies; 9+ messages in thread From: Arnaldo Carvalho de Melo @ 2022-12-05 13:07 UTC (permalink / raw) To: Athira Rajeev Cc: James Clark, Namhyung Kim, linux-perf-users, LKML, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa, Ian Rogers Em Sun, Dec 04, 2022 at 10:38:28PM +0530, Athira Rajeev escreveu: > > > > On 01-Dec-2022, at 3:36 PM, James Clark <james.clark@arm.com> wrote: > > > > > > > > On 30/11/2022 18:32, Namhyung Kim wrote: > >> On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote: > >>> > >>> In this context, 'os' is already a pointer so the extra dereference > >>> isn't required. This fixes the following test failure on aarch64: > >>> > >>> $ ./perf test "json output" -vvv > >>> 92: perf stat JSON output linter : > >>> --- start --- > >>> Checking json output: no args Test failed for input: > >>> ... > >>> Fatal error: glibc detected an invalid stdio handle > >>> ---- end ---- > >>> perf stat JSON output linter: FAILED! > >>> > >>> Fixes: e7f4da312259 ("perf stat: Pass struct outstate to printout()") > >>> Signed-off-by: James Clark <james.clark@arm.com> > >> > >> Thanks for fixing this. I'm not sure how I missed it.. :( > >> > > > > It seems to only go down that path on some configuration. At least on > > x86 the test was passing fine for me. > > > >> Acked-by: Namhyung Kim <namhyung@kernel.org> > > > > Thanks for the review! > > Faced same issue on powerpc. Tested with this change and it works with this patch. > > Tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Thanks, applied. - Arnaldo ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output 2022-11-30 11:15 [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output James Clark 2022-11-30 11:15 ` [PATCH 2/2] perf stat: Fix invalid output handle James Clark @ 2022-11-30 18:18 ` Ian Rogers 2022-11-30 18:31 ` Namhyung Kim 2022-12-02 18:46 ` Arnaldo Carvalho de Melo 1 sibling, 2 replies; 9+ messages in thread From: Ian Rogers @ 2022-11-30 18:18 UTC (permalink / raw) To: James Clark Cc: linux-perf-users, acme, namhyung, linux-kernel, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote: > > Commit c4b41b83c250 ("perf stat: Rename "aggregate-number" to > "cpu-count" in JSON") renamed a field, so update the tests to reflect > this. > > This fixes the following failure: > > $ sudo ./perf test "json output" -vvv > 96: perf stat JSON output linter : > --- start --- > test child forked, pid 327720 > Checking json output: no args [Success] > Checking json output: system wide [Success] > Checking json output: interval [Success] > Checking json output: event [Success] > Checking json output: per thread [Success] > Checking json output: per node Test failed for input: > ... > Traceback (most recent call last): > File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 93, in <module> > check_json_output(expected_items) > File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 78, in check_json_output > raise RuntimeError(f'Unexpected key: key={key} value={value}') > RuntimeError: Unexpected key: key=cpu-count value=16 > test child finished with -1 > ---- end ---- > perf stat JSON output linter: FAILED! > > Fixes: c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON") > Signed-off-by: James Clark <james.clark@arm.com> Namhyung mentioned reverting change c4b41b83c250, in which case merging this would break the test again. I think the revert is better. Thanks, Ian > --- > tools/perf/tests/shell/lib/perf_json_output_lint.py | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/tests/shell/lib/perf_json_output_lint.py b/tools/perf/tests/shell/lib/perf_json_output_lint.py > index d90f8d102eb9..9c073e257d33 100644 > --- a/tools/perf/tests/shell/lib/perf_json_output_lint.py > +++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py > @@ -54,7 +54,7 @@ def check_json_output(expected_items): > raise RuntimeError(f'wrong number of fields. counted {count} expected {expected_items}' > f' in \'{line}\'') > checks = { > - 'aggregate-number': lambda x: isfloat(x), > + 'cpu-count': lambda x: isfloat(x), > 'core': lambda x: True, > 'counter-value': lambda x: is_counter_value(x), > 'cgroup': lambda x: True, > -- > 2.25.1 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output 2022-11-30 18:18 ` [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output Ian Rogers @ 2022-11-30 18:31 ` Namhyung Kim 2022-12-02 18:46 ` Arnaldo Carvalho de Melo 1 sibling, 0 replies; 9+ messages in thread From: Namhyung Kim @ 2022-11-30 18:31 UTC (permalink / raw) To: Ian Rogers Cc: James Clark, linux-perf-users, acme, linux-kernel, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa Hi, On Wed, Nov 30, 2022 at 10:19 AM Ian Rogers <irogers@google.com> wrote: > > On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote: > > > > Commit c4b41b83c250 ("perf stat: Rename "aggregate-number" to > > "cpu-count" in JSON") renamed a field, so update the tests to reflect > > this. > > > > This fixes the following failure: > > > > $ sudo ./perf test "json output" -vvv > > 96: perf stat JSON output linter : > > --- start --- > > test child forked, pid 327720 > > Checking json output: no args [Success] > > Checking json output: system wide [Success] > > Checking json output: interval [Success] > > Checking json output: event [Success] > > Checking json output: per thread [Success] > > Checking json output: per node Test failed for input: > > ... > > Traceback (most recent call last): > > File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 93, in <module> > > check_json_output(expected_items) > > File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 78, in check_json_output > > raise RuntimeError(f'Unexpected key: key={key} value={value}') > > RuntimeError: Unexpected key: key=cpu-count value=16 > > test child finished with -1 > > ---- end ---- > > perf stat JSON output linter: FAILED! > > > > Fixes: c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON") > > Signed-off-by: James Clark <james.clark@arm.com> > > Namhyung mentioned reverting change c4b41b83c250, in which case > merging this would break the test again. I think the revert is better. Yep, I will send the revert soon. Thanks, Namhyung ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output 2022-11-30 18:18 ` [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output Ian Rogers 2022-11-30 18:31 ` Namhyung Kim @ 2022-12-02 18:46 ` Arnaldo Carvalho de Melo 1 sibling, 0 replies; 9+ messages in thread From: Arnaldo Carvalho de Melo @ 2022-12-02 18:46 UTC (permalink / raw) To: Ian Rogers Cc: James Clark, linux-perf-users, namhyung, linux-kernel, Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin, Jiri Olsa Em Wed, Nov 30, 2022 at 10:18:49AM -0800, Ian Rogers escreveu: > On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote: > > > > Commit c4b41b83c250 ("perf stat: Rename "aggregate-number" to > > "cpu-count" in JSON") renamed a field, so update the tests to reflect > > this. > > > > This fixes the following failure: > > > > $ sudo ./perf test "json output" -vvv > > 96: perf stat JSON output linter : > > --- start --- > > test child forked, pid 327720 > > Checking json output: no args [Success] > > Checking json output: system wide [Success] > > Checking json output: interval [Success] > > Checking json output: event [Success] > > Checking json output: per thread [Success] > > Checking json output: per node Test failed for input: > > ... > > Traceback (most recent call last): > > File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 93, in <module> > > check_json_output(expected_items) > > File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 78, in check_json_output > > raise RuntimeError(f'Unexpected key: key={key} value={value}') > > RuntimeError: Unexpected key: key=cpu-count value=16 > > test child finished with -1 > > ---- end ---- > > perf stat JSON output linter: FAILED! > > > > Fixes: c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON") > > Signed-off-by: James Clark <james.clark@arm.com> > > Namhyung mentioned reverting change c4b41b83c250, in which case > merging this would break the test again. I think the revert is better. Applied the revert, with an Acked-by: you. > Thanks, > Ian > > > --- > > tools/perf/tests/shell/lib/perf_json_output_lint.py | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/perf/tests/shell/lib/perf_json_output_lint.py b/tools/perf/tests/shell/lib/perf_json_output_lint.py > > index d90f8d102eb9..9c073e257d33 100644 > > --- a/tools/perf/tests/shell/lib/perf_json_output_lint.py > > +++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py > > @@ -54,7 +54,7 @@ def check_json_output(expected_items): > > raise RuntimeError(f'wrong number of fields. counted {count} expected {expected_items}' > > f' in \'{line}\'') > > checks = { > > - 'aggregate-number': lambda x: isfloat(x), > > + 'cpu-count': lambda x: isfloat(x), > > 'core': lambda x: True, > > 'counter-value': lambda x: is_counter_value(x), > > 'cgroup': lambda x: True, > > -- > > 2.25.1 > > -- - Arnaldo ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-12-05 13:07 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-11-30 11:15 [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output James Clark 2022-11-30 11:15 ` [PATCH 2/2] perf stat: Fix invalid output handle James Clark 2022-11-30 18:32 ` Namhyung Kim 2022-12-01 10:06 ` James Clark 2022-12-04 17:08 ` Athira Rajeev 2022-12-05 13:07 ` Arnaldo Carvalho de Melo 2022-11-30 18:18 ` [PATCH 1/2] perf tests: Fix "perf stat JSON output linter" test for new output Ian Rogers 2022-11-30 18:31 ` Namhyung Kim 2022-12-02 18:46 ` Arnaldo Carvalho de Melo
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).