[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZtnKHsXiZDGbz6l8@x1>
Date: Thu, 5 Sep 2024 12:11:26 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Ian Rogers <irogers@...gle.com>
Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Kan Liang <kan.liang@...ux.intel.com>,
John Garry <john.g.garry@...cle.com>,
Sandipan Das <sandipan.das@....com>,
Jing Zhang <renyu.zj@...ux.alibaba.com>,
Xu Yang <xu.yang_2@....com>, Thomas Richter <tmricht@...ux.ibm.com>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
Stephane Eranian <eranian@...gle.com>
Subject: Re: [PATCH v1] perf jevents: Ignore sys when determining a model
directory
On Wed, Sep 04, 2024 at 02:17:05PM -0700, Ian Rogers wrote:
> Existing sys directories aren't placed under a model directory like
> skylake. Placing a sys directory there causes the `is_leaf_dir` test
> to fail and consequently no events or metrics are generated for the
> model. Ignore sys directories in this case and update the comments to
> reflect why.
>
> This change has no affect, but when testing with a sys directory for a
> model people have reported running into the no event/metric issue.
Thanks, applied, if Stephan is satisfied with the fix and have tested
it, please consider providing a Tested-by,
Thanks,
- Arnaldo
> Reported-by: Stephane Eranian <eranian@...gle.com>
> Signed-off-by: Ian Rogers <irogers@...gle.com>
> ---
> tools/perf/pmu-events/jevents.py | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> index 1d96b2204e52..bb0a5d92df4a 100755
> --- a/tools/perf/pmu-events/jevents.py
> +++ b/tools/perf/pmu-events/jevents.py
> @@ -635,14 +635,17 @@ def preprocess_one_file(parents: Sequence[str], item: os.DirEntry) -> None:
>
> def process_one_file(parents: Sequence[str], item: os.DirEntry) -> None:
> """Process a JSON file during the main walk."""
> - def is_leaf_dir(path: str) -> bool:
> + def is_leaf_dir_ignoring_sys(path: str) -> bool:
> for item in os.scandir(path):
> - if item.is_dir():
> + if item.is_dir() and item.name != 'sys':
> return False
> return True
>
> - # model directory, reset topic
> - if item.is_dir() and is_leaf_dir(item.path):
> + # Model directories are leaves (ignoring possible sys
> + # directories). The FTW will walk into the directory next. Flush
> + # pending events and metrics and update the table names for the new
> + # model directory.
> + if item.is_dir() and is_leaf_dir_ignoring_sys(item.path):
> print_pending_events()
> print_pending_metrics()
>
> --
> 2.46.0.469.g59c65b2a67-goog
Powered by blists - more mailing lists