* [PATCH] perf test: Fix perf stat JSON output test
@ 2023-05-24 21:06 Namhyung Kim
2023-05-25 3:01 ` K Prateek Nayak
0 siblings, 1 reply; 4+ messages in thread
From: Namhyung Kim @ 2023-05-24 21:06 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, Jiri Olsa
Cc: Ian Rogers, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
linux-perf-users, K Prateek Nayak
The recent --per-cache option test caused a problem. According to
the option name, I think it should check args.per_cache instead of
args.per_cache_instance.
$ sudo ./perf test -v 99
99: perf stat JSON output linter :
--- start ---
test child forked, pid 3086101
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 [Success]
Checking json output: system wide no aggregation [Success]
Checking json output: per core [Success]
Checking json output: per cache_instance Test failed for input:
...
Traceback (most recent call last):
File "linux/tools/perf/tests/shell/lib/perf_json_output_lint.py", line 88, in <module>
elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache_instance:
AttributeError: 'Namespace' object has no attribute 'per_cache_instance'
test child finished with -1
---- end ----
perf stat JSON output linter: FAILED!
Fixes: bfce728db317 ("pert tests: Add tests for new "perf stat --per-cache" aggregation option")
Cc: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
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 4acaaed5560d..b81582a89d36 100644
--- a/tools/perf/tests/shell/lib/perf_json_output_lint.py
+++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py
@@ -85,7 +85,7 @@ Lines = args.file.readlines()
expected_items = 7
elif args.interval or args.per_thread or args.system_wide_no_aggr:
expected_items = 8
- elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache_instance:
+ elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache:
expected_items = 9
else:
# If no option is specified, don't check the number of items.
--
2.41.0.rc0.172.g3f132b7071-goog
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] perf test: Fix perf stat JSON output test
2023-05-24 21:06 [PATCH] perf test: Fix perf stat JSON output test Namhyung Kim
@ 2023-05-25 3:01 ` K Prateek Nayak
2023-05-26 22:41 ` Ian Rogers
0 siblings, 1 reply; 4+ messages in thread
From: K Prateek Nayak @ 2023-05-25 3:01 UTC (permalink / raw)
To: Namhyung Kim, Arnaldo Carvalho de Melo, Jiri Olsa
Cc: Ian Rogers, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
linux-perf-users
Hello Namhyung,
On 5/25/2023 2:36 AM, Namhyung Kim wrote:
> The recent --per-cache option test caused a problem. According to
> the option name, I think it should check args.per_cache instead of
> args.per_cache_instance.
>
> $ sudo ./perf test -v 99
> 99: perf stat JSON output linter :
> --- start ---
> test child forked, pid 3086101
> 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 [Success]
> Checking json output: system wide no aggregation [Success]
> Checking json output: per core [Success]
> Checking json output: per cache_instance Test failed for input:
> ...
> Traceback (most recent call last):
> File "linux/tools/perf/tests/shell/lib/perf_json_output_lint.py", line 88, in <module>
> elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache_instance:
> AttributeError: 'Namespace' object has no attribute 'per_cache_instance'
> test child finished with -1
> ---- end ----
> perf stat JSON output linter: FAILED!
>
> Fixes: bfce728db317 ("pert tests: Add tests for new "perf stat --per-cache" aggregation option")
Another oversight on my part. Thank you for fixing this :)
$ sudo perf test -v 99
99: perf stat JSON output linter :
--- start ---
test child forked, pid 25046
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 [Success]
Checking json output: system wide no aggregation [Success]
Checking json output: per core [Success]
Checking json output: per cache_instance [Success]
Checking json output: per die [Success]
Checking json output: per socket [Success]
test child finished with 0
---- end ----
perf stat JSON output linter: Ok
Tested-by: K Prateek Nayak <kprateek.nayak@amd.com>
> Cc: K Prateek Nayak <kprateek.nayak@amd.com>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
> 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 4acaaed5560d..b81582a89d36 100644
> --- a/tools/perf/tests/shell/lib/perf_json_output_lint.py
> +++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py
> @@ -85,7 +85,7 @@ Lines = args.file.readlines()
> expected_items = 7
> elif args.interval or args.per_thread or args.system_wide_no_aggr:
> expected_items = 8
> - elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache_instance:
> + elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache:
> expected_items = 9
> else:
> # If no option is specified, don't check the number of items.
--
Thanks and Regards,
Prateek
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] perf test: Fix perf stat JSON output test
2023-05-25 3:01 ` K Prateek Nayak
@ 2023-05-26 22:41 ` Ian Rogers
2023-05-27 1:48 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 4+ messages in thread
From: Ian Rogers @ 2023-05-26 22:41 UTC (permalink / raw)
To: K Prateek Nayak
Cc: Namhyung Kim, Arnaldo Carvalho de Melo, Jiri Olsa, Adrian Hunter,
Peter Zijlstra, Ingo Molnar, LKML, linux-perf-users
On Wed, May 24, 2023 at 8:01 PM K Prateek Nayak <kprateek.nayak@amd.com> wrote:
>
> Hello Namhyung,
>
> On 5/25/2023 2:36 AM, Namhyung Kim wrote:
> > The recent --per-cache option test caused a problem. According to
> > the option name, I think it should check args.per_cache instead of
> > args.per_cache_instance.
> >
> > $ sudo ./perf test -v 99
> > 99: perf stat JSON output linter :
> > --- start ---
> > test child forked, pid 3086101
> > 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 [Success]
> > Checking json output: system wide no aggregation [Success]
> > Checking json output: per core [Success]
> > Checking json output: per cache_instance Test failed for input:
> > ...
> > Traceback (most recent call last):
> > File "linux/tools/perf/tests/shell/lib/perf_json_output_lint.py", line 88, in <module>
> > elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache_instance:
> > AttributeError: 'Namespace' object has no attribute 'per_cache_instance'
> > test child finished with -1
> > ---- end ----
> > perf stat JSON output linter: FAILED!
> >
> > Fixes: bfce728db317 ("pert tests: Add tests for new "perf stat --per-cache" aggregation option")
>
> Another oversight on my part. Thank you for fixing this :)
>
> $ sudo perf test -v 99
> 99: perf stat JSON output linter :
> --- start ---
> test child forked, pid 25046
> 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 [Success]
> Checking json output: system wide no aggregation [Success]
> Checking json output: per core [Success]
> Checking json output: per cache_instance [Success]
> Checking json output: per die [Success]
> Checking json output: per socket [Success]
> test child finished with 0
> ---- end ----
> perf stat JSON output linter: Ok
>
> Tested-by: K Prateek Nayak <kprateek.nayak@amd.com>
Thanks Namhyung and Prateek, Arnaldo could we get this in
perf-tools-next so that the failing test goes away?
Acked-by: Ian Rogers <irogers@google.com>
> > Cc: K Prateek Nayak <kprateek.nayak@amd.com>
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> > ---
> > 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 4acaaed5560d..b81582a89d36 100644
> > --- a/tools/perf/tests/shell/lib/perf_json_output_lint.py
> > +++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py
> > @@ -85,7 +85,7 @@ Lines = args.file.readlines()
> > expected_items = 7
> > elif args.interval or args.per_thread or args.system_wide_no_aggr:
> > expected_items = 8
> > - elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache_instance:
> > + elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache:
> > expected_items = 9
> > else:
> > # If no option is specified, don't check the number of items.
>
> --
> Thanks and Regards,
> Prateek
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] perf test: Fix perf stat JSON output test
2023-05-26 22:41 ` Ian Rogers
@ 2023-05-27 1:48 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2023-05-27 1:48 UTC (permalink / raw)
To: Ian Rogers
Cc: K Prateek Nayak, Namhyung Kim, Jiri Olsa, Adrian Hunter,
Peter Zijlstra, Ingo Molnar, LKML, linux-perf-users
Em Fri, May 26, 2023 at 03:41:29PM -0700, Ian Rogers escreveu:
> On Wed, May 24, 2023 at 8:01 PM K Prateek Nayak <kprateek.nayak@amd.com> wrote:
> >
> > Hello Namhyung,
> >
> > On 5/25/2023 2:36 AM, Namhyung Kim wrote:
> > > The recent --per-cache option test caused a problem. According to
> > > the option name, I think it should check args.per_cache instead of
> > > args.per_cache_instance.
> > >
> > > $ sudo ./perf test -v 99
> > > 99: perf stat JSON output linter :
> > > --- start ---
> > > test child forked, pid 3086101
> > > 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 [Success]
> > > Checking json output: system wide no aggregation [Success]
> > > Checking json output: per core [Success]
> > > Checking json output: per cache_instance Test failed for input:
> > > ...
> > > Traceback (most recent call last):
> > > File "linux/tools/perf/tests/shell/lib/perf_json_output_lint.py", line 88, in <module>
> > > elif args.per_core or args.per_socket or args.per_node or args.per_die or args.per_cache_instance:
> > > AttributeError: 'Namespace' object has no attribute 'per_cache_instance'
> > > test child finished with -1
> > > ---- end ----
> > > perf stat JSON output linter: FAILED!
> > >
> > > Fixes: bfce728db317 ("pert tests: Add tests for new "perf stat --per-cache" aggregation option")
> >
> > Another oversight on my part. Thank you for fixing this :)
> >
> > $ sudo perf test -v 99
> > 99: perf stat JSON output linter :
> > --- start ---
> > test child forked, pid 25046
> > 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 [Success]
> > Checking json output: system wide no aggregation [Success]
> > Checking json output: per core [Success]
> > Checking json output: per cache_instance [Success]
> > Checking json output: per die [Success]
> > Checking json output: per socket [Success]
> > test child finished with 0
> > ---- end ----
> > perf stat JSON output linter: Ok
> >
> > Tested-by: K Prateek Nayak <kprateek.nayak@amd.com>
>
> Thanks Namhyung and Prateek, Arnaldo could we get this in
> perf-tools-next so that the failing test goes away?
>
> Acked-by: Ian Rogers <irogers@google.com>
Applied and pushed to perf-tools-next, please continue from there.
⬢[acme@toolbox perf-tools-next]$ git log --oneline -10
540c910c65a94fb4 (HEAD -> perf-tools-next) perf test: Fix perf stat JSON output test
5cebb33fd929dc67 perf tests: Organize cpu_map tests into a single suite
237d41d4a2d7d45e perf cpumap: Add intersect function
6ac2230b55d392e6 perf vendor events intel: Add metricgroup descriptions for all models
66c6e0c100277175 perf jevents: Add support for metricgroup descriptions
bfce728db3179042 pert tests: Add tests for new "perf stat --per-cache" aggregation option
aab667ca8837e45f perf stat: Add "--per-cache" aggregation option and document it
4b87406a3b590888 perf stat record: Save cache level information
995ed074b829f293 perf stat: Setup the foundation to allow aggregation based on cache topology
2b72cec9eef19d73 perf: Extract building cache level for a CPU into separate function
⬢[acme@toolbox perf-tools-next]$
- Arnaldo
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-05-27 1:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-24 21:06 [PATCH] perf test: Fix perf stat JSON output test Namhyung Kim
2023-05-25 3:01 ` K Prateek Nayak
2023-05-26 22:41 ` Ian Rogers
2023-05-27 1:48 ` 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).