From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: John Garry <john.g.garry@oracle.com>
Cc: Ian Rogers <irogers@google.com>, Will Deacon <will@kernel.org>,
James Clark <james.clark@arm.com>,
Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Kim Phillips <kim.phillips@amd.com>,
Florian Fischer <florian.fischer@muhq.space>,
Ravi Bangoria <ravi.bangoria@amd.com>,
Xing Zhengjun <zhengjun.xing@linux.intel.com>,
Rob Herring <robh@kernel.org>,
Kang Minchul <tegongkang@gmail.com>,
linux-arm-kernel@lists.infradead.org,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
Sandipan Das <sandipan.das@amd.com>,
Jing Zhang <renyu.zj@linux.alibaba.com>,
linuxppc-dev@lists.ozlabs.org, Kajol Jain <kjain@linux.ibm.com>,
Stephane Eranian <eranian@google.com>,
Perry Taylor <perry.taylor@intel.com>,
Caleb Biggers <caleb.biggers@intel.com>
Subject: Re: [PATCH v4 11/12] perf jevents: Add model list option
Date: Thu, 26 Jan 2023 11:20:09 -0300 [thread overview]
Message-ID: <Y9KMGa1jGW3aLVZG@kernel.org> (raw)
In-Reply-To: <10ae719f-2549-a367-2d2b-48671a00135e@oracle.com>
Em Thu, Jan 26, 2023 at 01:44:39PM +0000, John Garry escreveu:
> On 26/01/2023 01:18, Ian Rogers wrote:
> > This allows the set of generated jevents events and metrics be limited
> > to a subset of the model names. Appropriate if trying to minimize the
> > binary size where only a set of models are possible.
> >
> > Signed-off-by: Ian Rogers <irogers@google.com>
>
> Thanks for this:
>
> Reviewed-by: John Garry <john.g.garry@oracle.com>
Thanks for reviewing the series John, I see there are a few patches for
which you didn't provide your Reviewed-by, are you planning to review
those as well?
- Arnaldo
> > ---
> > tools/perf/pmu-events/Build | 3 ++-
> > tools/perf/pmu-events/jevents.py | 14 ++++++++++++++
> > 2 files changed, 16 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build
> > index 15b9e8fdbffa..a14de24ecb69 100644
> > --- a/tools/perf/pmu-events/Build
> > +++ b/tools/perf/pmu-events/Build
> > @@ -10,6 +10,7 @@ JEVENTS_PY = pmu-events/jevents.py
> > ifeq ($(JEVENTS_ARCH),)
> > JEVENTS_ARCH=$(SRCARCH)
> > endif
> > +JEVENTS_MODEL ?= all
> > #
> > # Locate/process JSON files in pmu-events/arch/
> > @@ -23,5 +24,5 @@ $(OUTPUT)pmu-events/pmu-events.c: pmu-events/empty-pmu-events.c
> > else
> > $(OUTPUT)pmu-events/pmu-events.c: $(JSON) $(JSON_TEST) $(JEVENTS_PY) pmu-events/metric.py
> > $(call rule_mkdir)
> > - $(Q)$(call echo-cmd,gen)$(PYTHON) $(JEVENTS_PY) $(JEVENTS_ARCH) pmu-events/arch $@
> > + $(Q)$(call echo-cmd,gen)$(PYTHON) $(JEVENTS_PY) $(JEVENTS_ARCH) $(JEVENTS_MODEL) pmu-events/arch $@
> > endif
> > diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> > index 627ee817f57f..2bcd07ce609f 100755
> > --- a/tools/perf/pmu-events/jevents.py
> > +++ b/tools/perf/pmu-events/jevents.py
> > @@ -599,6 +599,8 @@ const struct pmu_events_map pmu_events_map[] = {
> > else:
> > metric_tblname = 'NULL'
> > metric_size = '0'
> > + if event_size == '0' and metric_size == '0':
> > + continue
> > cpuid = row[0].replace('\\', '\\\\')
> > _args.output_file.write(f"""{{
> > \t.arch = "{arch}",
> > @@ -888,12 +890,24 @@ def main() -> None:
> > action: Callable[[Sequence[str], os.DirEntry], None]) -> None:
> > """Replicate the directory/file walking behavior of C's file tree walk."""
> > for item in os.scandir(path):
> > + if _args.model != 'all' and item.is_dir():
> > + # Check if the model matches one in _args.model.
> > + if len(parents) == _args.model.split(',')[0].count('/'):
> > + # We're testing the correct directory.
> > + item_path = '/'.join(parents) + ('/' if len(parents) > 0 else '') + item.name
> > + if 'test' not in item_path and item_path not in _args.model.split(','):
> > + continue
> > action(parents, item)
> > if item.is_dir():
> > ftw(item.path, parents + [item.name], action)
> > ap = argparse.ArgumentParser()
> > ap.add_argument('arch', help='Architecture name like x86')
> > + ap.add_argument('model', help='''Select a model such as skylake to
> > +reduce the code size. Normally set to "all". For architectures like
> > +ARM64 with an implementor/model, the model must include the implementor
>
> mega-nit: /s/ARM64/arm64/
>
> it just makes grepping easier (without -i, of course)
>
> > +such as "arm/cortex-a34".''',
> > + default='all')
> > ap.add_argument(
> > 'starting_dir',
> > type=dir_path,
>
--
- Arnaldo
WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: John Garry <john.g.garry@oracle.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
Ian Rogers <irogers@google.com>,
Sandipan Das <sandipan.das@amd.com>,
Peter Zijlstra <peterz@infradead.org>,
Perry Taylor <perry.taylor@intel.com>,
Stephane Eranian <eranian@google.com>,
linux-kernel@vger.kernel.org, James Clark <james.clark@arm.com>,
Kim Phillips <kim.phillips@amd.com>,
Will Deacon <will@kernel.org>,
Kan Liang <kan.liang@linux.intel.com>,
Rob Herring <robh@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Ingo Molnar <mingo@redhat.com>,
Xing Zhengjun <zhengjun.xing@linux.intel.com>,
Kang Minchul <tegongkang@gmail.com>,
Mike Leach <mike.leach@linaro.org>,
Kajol Jain <kjain@linux.ibm.com>,
Namhyung Kim <namhyung@kernel.org>,
Caleb Biggers <caleb.biggers@intel.com>,
linux-arm-kernel@lists.infradead.org,
Ravi Bangoria <ravi.bangoria@amd.com>,
Florian Fischer <florian.fischer@muhq.space>,
Adrian Hunter <adrian.hunter@intel.com>,
linux-perf-users@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
Leo Yan <leo.yan@li naro.org>,
linuxppc-dev@lists.ozlabs.org,
Jing Zhang <renyu.zj@linux.alibaba.com>
Subject: Re: [PATCH v4 11/12] perf jevents: Add model list option
Date: Thu, 26 Jan 2023 11:20:09 -0300 [thread overview]
Message-ID: <Y9KMGa1jGW3aLVZG@kernel.org> (raw)
In-Reply-To: <10ae719f-2549-a367-2d2b-48671a00135e@oracle.com>
Em Thu, Jan 26, 2023 at 01:44:39PM +0000, John Garry escreveu:
> On 26/01/2023 01:18, Ian Rogers wrote:
> > This allows the set of generated jevents events and metrics be limited
> > to a subset of the model names. Appropriate if trying to minimize the
> > binary size where only a set of models are possible.
> >
> > Signed-off-by: Ian Rogers <irogers@google.com>
>
> Thanks for this:
>
> Reviewed-by: John Garry <john.g.garry@oracle.com>
Thanks for reviewing the series John, I see there are a few patches for
which you didn't provide your Reviewed-by, are you planning to review
those as well?
- Arnaldo
> > ---
> > tools/perf/pmu-events/Build | 3 ++-
> > tools/perf/pmu-events/jevents.py | 14 ++++++++++++++
> > 2 files changed, 16 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build
> > index 15b9e8fdbffa..a14de24ecb69 100644
> > --- a/tools/perf/pmu-events/Build
> > +++ b/tools/perf/pmu-events/Build
> > @@ -10,6 +10,7 @@ JEVENTS_PY = pmu-events/jevents.py
> > ifeq ($(JEVENTS_ARCH),)
> > JEVENTS_ARCH=$(SRCARCH)
> > endif
> > +JEVENTS_MODEL ?= all
> > #
> > # Locate/process JSON files in pmu-events/arch/
> > @@ -23,5 +24,5 @@ $(OUTPUT)pmu-events/pmu-events.c: pmu-events/empty-pmu-events.c
> > else
> > $(OUTPUT)pmu-events/pmu-events.c: $(JSON) $(JSON_TEST) $(JEVENTS_PY) pmu-events/metric.py
> > $(call rule_mkdir)
> > - $(Q)$(call echo-cmd,gen)$(PYTHON) $(JEVENTS_PY) $(JEVENTS_ARCH) pmu-events/arch $@
> > + $(Q)$(call echo-cmd,gen)$(PYTHON) $(JEVENTS_PY) $(JEVENTS_ARCH) $(JEVENTS_MODEL) pmu-events/arch $@
> > endif
> > diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> > index 627ee817f57f..2bcd07ce609f 100755
> > --- a/tools/perf/pmu-events/jevents.py
> > +++ b/tools/perf/pmu-events/jevents.py
> > @@ -599,6 +599,8 @@ const struct pmu_events_map pmu_events_map[] = {
> > else:
> > metric_tblname = 'NULL'
> > metric_size = '0'
> > + if event_size == '0' and metric_size == '0':
> > + continue
> > cpuid = row[0].replace('\\', '\\\\')
> > _args.output_file.write(f"""{{
> > \t.arch = "{arch}",
> > @@ -888,12 +890,24 @@ def main() -> None:
> > action: Callable[[Sequence[str], os.DirEntry], None]) -> None:
> > """Replicate the directory/file walking behavior of C's file tree walk."""
> > for item in os.scandir(path):
> > + if _args.model != 'all' and item.is_dir():
> > + # Check if the model matches one in _args.model.
> > + if len(parents) == _args.model.split(',')[0].count('/'):
> > + # We're testing the correct directory.
> > + item_path = '/'.join(parents) + ('/' if len(parents) > 0 else '') + item.name
> > + if 'test' not in item_path and item_path not in _args.model.split(','):
> > + continue
> > action(parents, item)
> > if item.is_dir():
> > ftw(item.path, parents + [item.name], action)
> > ap = argparse.ArgumentParser()
> > ap.add_argument('arch', help='Architecture name like x86')
> > + ap.add_argument('model', help='''Select a model such as skylake to
> > +reduce the code size. Normally set to "all". For architectures like
> > +ARM64 with an implementor/model, the model must include the implementor
>
> mega-nit: /s/ARM64/arm64/
>
> it just makes grepping easier (without -i, of course)
>
> > +such as "arm/cortex-a34".''',
> > + default='all')
> > ap.add_argument(
> > 'starting_dir',
> > type=dir_path,
>
--
- Arnaldo
WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: John Garry <john.g.garry@oracle.com>
Cc: Ian Rogers <irogers@google.com>, Will Deacon <will@kernel.org>,
James Clark <james.clark@arm.com>,
Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linaro.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Kim Phillips <kim.phillips@amd.com>,
Florian Fischer <florian.fischer@muhq.space>,
Ravi Bangoria <ravi.bangoria@amd.com>,
Xing Zhengjun <zhengjun.xing@linux.intel.com>,
Rob Herring <robh@kernel.org>,
Kang Minchul <tegongkang@gmail.com>,
linux-arm-kernel@lists.infradead.org,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
Sandipan Das <sandipan.das@amd.com>,
Jing Zhang <renyu.zj@linux.alibaba.com>,
linuxppc-dev@lists.ozlabs.org, Kajol Jain <kjain@linux.ibm.com>,
Stephane Eranian <eranian@google.com>,
Perry Taylor <perry.taylor@intel.com>,
Caleb Biggers <caleb.biggers@intel.com>
Subject: Re: [PATCH v4 11/12] perf jevents: Add model list option
Date: Thu, 26 Jan 2023 11:20:09 -0300 [thread overview]
Message-ID: <Y9KMGa1jGW3aLVZG@kernel.org> (raw)
In-Reply-To: <10ae719f-2549-a367-2d2b-48671a00135e@oracle.com>
Em Thu, Jan 26, 2023 at 01:44:39PM +0000, John Garry escreveu:
> On 26/01/2023 01:18, Ian Rogers wrote:
> > This allows the set of generated jevents events and metrics be limited
> > to a subset of the model names. Appropriate if trying to minimize the
> > binary size where only a set of models are possible.
> >
> > Signed-off-by: Ian Rogers <irogers@google.com>
>
> Thanks for this:
>
> Reviewed-by: John Garry <john.g.garry@oracle.com>
Thanks for reviewing the series John, I see there are a few patches for
which you didn't provide your Reviewed-by, are you planning to review
those as well?
- Arnaldo
> > ---
> > tools/perf/pmu-events/Build | 3 ++-
> > tools/perf/pmu-events/jevents.py | 14 ++++++++++++++
> > 2 files changed, 16 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build
> > index 15b9e8fdbffa..a14de24ecb69 100644
> > --- a/tools/perf/pmu-events/Build
> > +++ b/tools/perf/pmu-events/Build
> > @@ -10,6 +10,7 @@ JEVENTS_PY = pmu-events/jevents.py
> > ifeq ($(JEVENTS_ARCH),)
> > JEVENTS_ARCH=$(SRCARCH)
> > endif
> > +JEVENTS_MODEL ?= all
> > #
> > # Locate/process JSON files in pmu-events/arch/
> > @@ -23,5 +24,5 @@ $(OUTPUT)pmu-events/pmu-events.c: pmu-events/empty-pmu-events.c
> > else
> > $(OUTPUT)pmu-events/pmu-events.c: $(JSON) $(JSON_TEST) $(JEVENTS_PY) pmu-events/metric.py
> > $(call rule_mkdir)
> > - $(Q)$(call echo-cmd,gen)$(PYTHON) $(JEVENTS_PY) $(JEVENTS_ARCH) pmu-events/arch $@
> > + $(Q)$(call echo-cmd,gen)$(PYTHON) $(JEVENTS_PY) $(JEVENTS_ARCH) $(JEVENTS_MODEL) pmu-events/arch $@
> > endif
> > diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> > index 627ee817f57f..2bcd07ce609f 100755
> > --- a/tools/perf/pmu-events/jevents.py
> > +++ b/tools/perf/pmu-events/jevents.py
> > @@ -599,6 +599,8 @@ const struct pmu_events_map pmu_events_map[] = {
> > else:
> > metric_tblname = 'NULL'
> > metric_size = '0'
> > + if event_size == '0' and metric_size == '0':
> > + continue
> > cpuid = row[0].replace('\\', '\\\\')
> > _args.output_file.write(f"""{{
> > \t.arch = "{arch}",
> > @@ -888,12 +890,24 @@ def main() -> None:
> > action: Callable[[Sequence[str], os.DirEntry], None]) -> None:
> > """Replicate the directory/file walking behavior of C's file tree walk."""
> > for item in os.scandir(path):
> > + if _args.model != 'all' and item.is_dir():
> > + # Check if the model matches one in _args.model.
> > + if len(parents) == _args.model.split(',')[0].count('/'):
> > + # We're testing the correct directory.
> > + item_path = '/'.join(parents) + ('/' if len(parents) > 0 else '') + item.name
> > + if 'test' not in item_path and item_path not in _args.model.split(','):
> > + continue
> > action(parents, item)
> > if item.is_dir():
> > ftw(item.path, parents + [item.name], action)
> > ap = argparse.ArgumentParser()
> > ap.add_argument('arch', help='Architecture name like x86')
> > + ap.add_argument('model', help='''Select a model such as skylake to
> > +reduce the code size. Normally set to "all". For architectures like
> > +ARM64 with an implementor/model, the model must include the implementor
>
> mega-nit: /s/ARM64/arm64/
>
> it just makes grepping easier (without -i, of course)
>
> > +such as "arm/cortex-a34".''',
> > + default='all')
> > ap.add_argument(
> > 'starting_dir',
> > type=dir_path,
>
--
- Arnaldo
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-01-26 14:20 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-26 1:18 [PATCH v4 00/12] jevents/pmu-events improvements Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 01/12] perf jevents metric: Correct Function equality Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 02/12] perf jevents metric: Add ability to rewrite metrics in terms of others Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 15:59 ` John Garry
2023-01-26 15:59 ` John Garry
2023-01-26 15:59 ` John Garry
2023-01-26 19:10 ` Ian Rogers
2023-01-26 19:10 ` Ian Rogers
2023-01-26 19:10 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 03/12] perf jevents: Rewrite metrics in the same file with each other Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 04/12] perf pmu-events: Add separate metric from pmu_event Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 05/12] perf pmu-events: Separate the metrics from events for no jevents Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 06/12] perf pmu-events: Remove now unused event and metric variables Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 07/12] perf stat: Remove evsel metric_name/expr Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 08/12] perf jevents: Combine table prefix and suffix writing Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 09/12] perf pmu-events: Introduce pmu_metrics_table Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 10/12] perf jevents: Generate metrics and events as separate tables Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` [PATCH v4 11/12] perf jevents: Add model list option Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 13:44 ` John Garry
2023-01-26 13:44 ` John Garry
2023-01-26 13:44 ` John Garry
2023-01-26 14:20 ` Arnaldo Carvalho de Melo [this message]
2023-01-26 14:20 ` Arnaldo Carvalho de Melo
2023-01-26 14:20 ` Arnaldo Carvalho de Melo
2023-01-26 14:22 ` John Garry
2023-01-26 14:22 ` John Garry
2023-01-26 14:22 ` John Garry
2023-01-26 1:18 ` [PATCH v4 12/12] perf pmu-events: Fix testing with JEVENTS_ARCH=all Ian Rogers
2023-01-26 1:18 ` Ian Rogers
2023-01-26 1:18 ` Ian Rogers
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=Y9KMGa1jGW3aLVZG@kernel.org \
--to=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=caleb.biggers@intel.com \
--cc=eranian@google.com \
--cc=florian.fischer@muhq.space \
--cc=irogers@google.com \
--cc=james.clark@arm.com \
--cc=john.g.garry@oracle.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=kim.phillips@amd.com \
--cc=kjain@linux.ibm.com \
--cc=leo.yan@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mark.rutland@arm.com \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=perry.taylor@intel.com \
--cc=peterz@infradead.org \
--cc=ravi.bangoria@amd.com \
--cc=renyu.zj@linux.alibaba.com \
--cc=robh@kernel.org \
--cc=sandipan.das@amd.com \
--cc=tegongkang@gmail.com \
--cc=will@kernel.org \
--cc=zhengjun.xing@linux.intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.