<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Build</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>8a54784e - perf build: Add pylint build tests</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#8a54784e</link>
        <description>perf build: Add pylint build testsIf PYLINT=1 is passed to the build then run pylint over python code inperf. Unlike shellcheck this isn&apos;t default on as there are currentlytoo many errors.An example of an error:```************* Module setuputil/setup.py:19:0: C0301: Line too long (127/100) (line-too-long)util/setup.py:20:0: C0301: Line too long (138/100) (line-too-long)util/setup.py:63:0: C0301: Line too long (106/100) (line-too-long)util/setup.py:1:0: C0114: Missing module docstring (missing-module-docstring)util/setup.py:24:4: W0622: Redefining built-in &apos;vars&apos; (redefined-builtin)util/setup.py:11:4: C0103: Constant name &quot;cc_options&quot; doesn&apos;t conform to UPPER_CASE naming style (invalid-name)util/setup.py:13:4: C0103: Constant name &quot;cc_options&quot; doesn&apos;t conform to UPPER_CASE naming style (invalid-name)util/setup.py:15:34: R1732: Consider using &apos;with&apos; for resource-allocating operations (consider-using-with)util/setup.py:18:0: C0116: Missing function or method docstring (missing-function-docstring)util/setup.py:19:16: R1732: Consider using &apos;with&apos; for resource-allocating operations (consider-using-with)util/setup.py:44:0: C0413: Import &quot;from setuptools import setup, Extension&quot; should be placed at the top of the module (wrong-import-position)util/setup.py:46:0: C0413: Import &quot;from setuptools.command.build_ext import build_ext as _build_ext&quot; should be placed at the top of the module (wrong-import-position)util/setup.py:47:0: C0413: Import &quot;from setuptools.command.install_lib import install_lib as _install_lib&quot; should be placed at the top of the module (wrong-import-position)util/setup.py:49:0: C0115: Missing class docstring (missing-class-docstring)util/setup.py:49:0: C0103: Class name &quot;build_ext&quot; doesn&apos;t conform to PascalCase naming style (invalid-name)util/setup.py:52:8: W0201: Attribute &apos;build_lib&apos; defined outside __init__ (attribute-defined-outside-init)util/setup.py:53:8: W0201: Attribute &apos;build_temp&apos; defined outside __init__ (attribute-defined-outside-init)util/setup.py:55:0: C0115: Missing class docstring (missing-class-docstring)util/setup.py:55:0: C0103: Class name &quot;install_lib&quot; doesn&apos;t conform to PascalCase naming style (invalid-name)util/setup.py:58:8: W0201: Attribute &apos;build_dir&apos; defined outside __init__ (attribute-defined-outside-init)*-----------------------------------------------------------------Your code has been rated at 6.67/10 (previous run: 6.51/10, +0.16)make[4]: *** [util/Build:442: util/setup.py.pylint_log] Error 1```Reviewed-by: James Clark &lt;james.clark@linaro.org&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Link: https://lore.kernel.org/r/20250311213628.569562-5-irogers@google.comSigned-off-by: Namhyung Kim &lt;namhyung@kernel.org&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Tue, 11 Mar 2025 21:36:26 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>168910d0 - perf build: Add mypy build tests</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#168910d0</link>
        <description>perf build: Add mypy build testsIf MYPY=1 is passed to the build then run mypy over python code inperf. Unlike shellcheck this isn&apos;t default on as there are currentlytoo many errors.An example of an error:```util/setup.py:8: error: Item &quot;None&quot; of &quot;str | None&quot; has no attribute &quot;split&quot;  [union-attr]util/setup.py:15: error: Item &quot;None&quot; of &quot;IO[bytes] | None&quot; has no attribute &quot;readline&quot;  [union-attr]util/setup.py:15: error: List item 0 has incompatible type &quot;str | None&quot;; expected &quot;str | bytes | PathLike[str] | PathLike[bytes]&quot;  [list-item]util/setup.py:16: error: Unsupported left operand type for + (&quot;None&quot;)  [operator]util/setup.py:16: note: Left operand is of type &quot;str | None&quot;util/setup.py:74: error: Unsupported left operand type for + (&quot;None&quot;)  [operator]util/setup.py:74: note: Left operand is of type &quot;str | None&quot;Found 5 errors in 1 file (checked 1 source file)make[4]: *** [util/Build:430: util/setup.py.mypy_log] Error 1```Reviewed-by: James Clark &lt;james.clark@linaro.org&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Link: https://lore.kernel.org/r/20250311213628.569562-4-irogers@google.comSigned-off-by: Namhyung Kim &lt;namhyung@kernel.org&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Tue, 11 Mar 2025 21:36:25 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>b79f9a43 - perf pmu-events: Change dependencies for empty-pmu-events.c test</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#b79f9a43</link>
        <description>perf pmu-events: Change dependencies for empty-pmu-events.c testSwitch from $? (all the prerequisites that are newer than the target)to $^ (all the prerequisites) as touching jevents.py will mean thatempty-pmu-events.c won&apos;t be passed to the diff command breaking thebuild.Reported-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Tested-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Albert Ou &lt;aou@eecs.berkeley.edu&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Atish Patra &lt;atishp@rivosinc.com&gt;Cc: Changbin Du &lt;changbin.du@huawei.com&gt;Cc: Charles Ci-Jyun Wu &lt;dminus@andestech.com&gt;Cc: Eric Lin &lt;eric.lin@sifive.com&gt;Cc: Greentime Hu &lt;greentime.hu@sifive.com&gt;Cc: Guilherme Amadio &lt;amadio@gentoo.org&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Inochi Amaoto &lt;inochiama@outlook.com&gt;Cc: James Clark &lt;james.clark@linaro.org&gt;Cc: Ji Sheng Teoh &lt;jisheng.teoh@starfivetech.com&gt;Cc: Jing Zhang &lt;renyu.zj@linux.alibaba.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: John Garry &lt;john.g.garry@oracle.com&gt;Cc: Kan Liang &lt;kan.liang@linux.intel.com&gt;Cc: Leo Yan &lt;leo.yan@linux.dev&gt;Cc: Locus Wei-Han Chen &lt;locus84@andestech.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mike Leach &lt;mike.leach@linaro.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Samuel Holland &lt;samuel.holland@sifive.com&gt;Cc: Sandipan Das &lt;sandipan.das@amd.com&gt;Cc: Vincent Chen &lt;vincent.chen@sifive.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Xu Yang &lt;xu.yang_2@nxp.com&gt;Link: https://lore.kernel.org/r/20240805194424.597244-2-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Mon, 05 Aug 2024 19:44:21 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>0fe881f1 - perf jevents: Autogenerate empty-pmu-events.c</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#0fe881f1</link>
        <description>perf jevents: Autogenerate empty-pmu-events.cempty-pmu-events.c exists so that builds may occur without pythonbeing installed on a system. Manually updating empty-pmu-events.c tobe in sync with jevents.py is a pain, let&apos;s use jevents.py to generateempty-pmu-events.c.1) change jevents.py so that an arch and model of none cause   generation of a pmu-events.c without any json. Add a SPDX and   autogenerated warning to the start of the file.2) change Build so that if a generated pmu-events.c for arch none and   model none doesn&apos;t match empty-pmu-events.c the build fails with a   cat of the differences. Update Makefile.perf to clean up the files   used for this.3) update empty-pmu-events.c to match the output of jevents.py with   arch and mode of none.Committer notes:The firtst paragraph is confusing, so I asked and Ian further clarified: ---The requirement for python hasn&apos;t changed.Case 1: no python or NO_JEVENTS=1Build happens using empty-pmu-events.c that is checked in, no pythonis required.Case 2: pythonpmu-events.c is created by jevents.py (requiring python) and then built.This change adds a step where the empty-pmu-events.c is created usingjevents.py and that file is diffed against the checked in version.This stops the checked in empty-pmu-events.c diverging if changes aremade to jevents.py. If the diff causes the build to fail then you justcopy the diff empty-pmu-events.c over the checked in one. ---Reviewed-by: John Garry &lt;john.g.garry@oracle.com&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Jing Zhang &lt;renyu.zj@linux.alibaba.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Kan Liang &lt;kan.liang@linux.intel.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Oliver Sang &lt;oliver.sang@intel.com&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Philip Li &lt;philip.li@intel.com&gt;Cc: Sandipan Das &lt;sandipan.das@amd.com&gt;Cc: Weilin Wang &lt;weilin.wang@intel.com&gt;Cc: Xu Yang &lt;xu.yang_2@nxp.com&gt;Link: https://lore.kernel.org/r/20240730191744.3097329-3-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Tue, 30 Jul 2024 19:17:44 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>7822a891 - perf build: Update build rule for generated files</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#7822a891</link>
        <description>perf build: Update build rule for generated filesThe bison and flex generate C files from the source (.y and .l)files.  When O= option is used, they are saved in a separate directorybut the default build rule assumes the .C files are in the sourcedirectory.  So it might read invalid file if there are generated filesfrom an old version.  The same is true for the pmu-events files.For example, the following command would cause a build failure:  $ git checkout v6.3  $ make -C tools/perf  # build in the same directory  $ git checkout v6.5-rc2  $ mkdir build  # create a build directory  $ make -C tools/perf O=build  # build in a different directory but it                                # refers files in the source directoryLet&apos;s update the build rule to specify those cases explicitly to dependon the files in the output directory.Note that it&apos;s not a complete fix and it needs the next patch for theinclude path too.Fixes: 80eeb67fe577aa76 (&quot;perf jevents: Program to convert JSON file&quot;)Signed-off-by: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Andi Kleen &lt;ak@linux.intel.com&gt;Cc: Anup Sharma &lt;anupnewsmail@gmail.com&gt;Cc: Ian Rogers &lt;irogers@google.com&gt;Cc: Ingo Molnar &lt;mingo@kernel.org&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: stable@vger.kernel.orgLink: https://lore.kernel.org/r/20230728022447.1323563-1-namhyung@kernel.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Fri, 28 Jul 2023 02:24:46 +0000</pubDate>
        <dc:creator>Namhyung Kim &lt;namhyung@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b777b3d2 - perf jevents: Run metric_test.py at compile-time</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#b777b3d2</link>
        <description>perf jevents: Run metric_test.py at compile-timeAdd a target that generates a log file for running metric_test.py andmake this a dependency on generating pmu-events.c. The log output isdisplayed if the test fails like (the test was modified to make itfail):```  TEST    /tmp/perf/pmu-events/metric_test.logF......======================================================================FAIL: test_Brackets (__main__.TestMetricExpressions)----------------------------------------------------------------------Traceback (most recent call last):  File &quot;tools/perf/pmu-events/metric_test.py&quot;, line 33, in test_Brackets    self.assertEqual((a * b + c).ToPerfJson(), &apos;a * b + d&apos;)AssertionError: &apos;a * b + c&apos; != &apos;a * b + d&apos;- a * b + c?         ^+ a * b + d?         ^----------------------------------------------------------------------Ran 7 tests in 0.004sFAILED (failures=1)make[3]: *** [pmu-events/Build:32: /tmp/perf/pmu-events/metric_test.log] Error 1```However, normal execution will just show the TEST line.This is roughly modeled on fortify testing in the kernel lib directory.Modify metric_test.py so that it is executable. This is necessary whenPYTHON isn&apos;t specified in the build, the normal case.Use variables to make the paths to files clearer and more consistent.Committer notes:Add pmu-events/metric_test.log to tools/perf/.gitignore and to the&apos;clean&apos; target on tools/perf/Makefile.perf.Reviewed-by: Kajol Jain &lt;kjain@linux.ibm.com&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Caleb Biggers &lt;caleb.biggers@intel.com&gt;Cc: Florian Fischer &lt;florian.fischer@muhq.space&gt;Cc: Ian Rogers &lt;irogers@google.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: James Clark &lt;james.clark@arm.com&gt;Cc: Jing Zhang &lt;renyu.zj@linux.alibaba.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: John Garry &lt;john.g.garry@oracle.com&gt;Cc: Kan Liang &lt;kan.liang@linux.intel.com&gt;Cc: Kang Minchul &lt;tegongkang@gmail.com&gt;Cc: Kim Phillips &lt;kim.phillips@amd.com&gt;Cc: Leo Yan &lt;leo.yan@linaro.org&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mike Leach &lt;mike.leach@linaro.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Perry Taylor &lt;perry.taylor@intel.com&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;Cc: Rob Herring &lt;robh@kernel.org&gt;Cc: Sandipan Das &lt;sandipan.das@amd.com&gt;Cc: Stephane Eranian &lt;eranian@google.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Xing Zhengjun &lt;zhengjun.xing@linux.intel.com&gt;Cc: linux-arm-kernel@lists.infradead.orgCc: linuxppc-dev@lists.ozlabs.orgLink: https://lore.kernel.org/r/20230126233645.200509-16-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Thu, 26 Jan 2023 23:36:45 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>5a09b1fd - perf jevents: Add model list option</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#5a09b1fd</link>
        <description>perf jevents: Add model list optionThis allows the set of generated jevents events and metrics be limitedto a subset of the model names. Appropriate if trying to minimize thebinary size where only a set of models are possible.Reviewed-by: Kajol Jain &lt;kjain@linux.ibm.com&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Caleb Biggers &lt;caleb.biggers@intel.com&gt;Cc: Florian Fischer &lt;florian.fischer@muhq.space&gt;Cc: Ian Rogers &lt;irogers@google.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: James Clark &lt;james.clark@arm.com&gt;Cc: Jing Zhang &lt;renyu.zj@linux.alibaba.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: John Garry &lt;john.g.garry@oracle.com&gt;Cc: Kan Liang &lt;kan.liang@linux.intel.com&gt;Cc: Kang Minchul &lt;tegongkang@gmail.com&gt;Cc: Kim Phillips &lt;kim.phillips@amd.com&gt;Cc: Leo Yan &lt;leo.yan@linaro.org&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mike Leach &lt;mike.leach@linaro.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Perry Taylor &lt;perry.taylor@intel.com&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;Cc: Rob Herring &lt;robh@kernel.org&gt;Cc: Sandipan Das &lt;sandipan.das@amd.com&gt;Cc: Stephane Eranian &lt;eranian@google.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Xing Zhengjun &lt;zhengjun.xing@linux.intel.com&gt;Cc: linux-arm-kernel@lists.infradead.orgCc: linuxppc-dev@lists.ozlabs.orgLink: https://lore.kernel.org/r/20230126233645.200509-12-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Thu, 26 Jan 2023 23:36:41 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>40769665 - perf jevents: Parse metrics during conversion</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#40769665</link>
        <description>perf jevents: Parse metrics during conversionCurrently the &apos;MetricExpr&apos; json value is passed from the jsonfile to the pmu-events.c. This change introduces an expressiontree that is parsed into. The parsing is done largely by usingoperator overloading and python&apos;s &apos;eval&apos; function. Two advantagesin doing this are:1) Broken metrics fail at compile time rather than relying on   `perf test` to detect. `perf test` remains relevant for checking   event encoding and actual metric use.2) The conversion to a string from the tree can minimize the metric&apos;s   string size, for example, preferring 1e6 over 1000000, avoiding   multiplication by 1 and removing unnecessary whitespace. On x86   this reduces the string size by 2,930bytes (0.07%).In future changes it would be possible to programmaticallygenerate the json expressions (a single line of text and so apain to write manually) for an architecture using the expressiontree. This could avoid copy-pasting metrics for all architecturevariants.v4. Doesn&apos;t simplify &quot;0*SLOTS&quot; to 0, as the pattern is used to fix    Intel metrics with topdown events.v3. Avoids generic types on standard types like set that aren&apos;t    supported until Python 3.9, fixing an issue with Python 3.6    reported-by John Garry. v3 also fixes minor pylint issues and adds    a call to Simplify on the read expression tree.v2. Improvements to type information.Committer notes:Added one-line fixer from Ian, see first Link: tag below.Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Reviewed-by: John Garry &lt;john.g.garry@oracle.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Stephane Eranian &lt;eranian@google.com&gt;Cc: Sumanth Korikkar &lt;sumanthk@linux.ibm.com&gt;Cc: Thomas Richter &lt;tmricht@linux.ibm.com&gt;Link: https://lore.kernel.org/r/CAP-5=fWa=zNK_ecpWGoGggHCQx7z-oW0eGMQf19Maywg0QK=4g@mail.gmail.comLink: https://lore.kernel.org/r/20221207055908.1385448-1-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Wed, 07 Dec 2022 05:59:08 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>b4f04660 - perf jevents: Add JEVENTS_ARCH make option</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#b4f04660</link>
        <description>perf jevents: Add JEVENTS_ARCH make optionAllow the architecture built into pmu-events.c to be set on the makecommand line with JEVENTS_ARCH.Reviewed-by: John Garry &lt;john.garry@huawei.com&gt;Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Andi Kleen &lt;ak@linux.intel.com&gt;Cc: James Clark &lt;james.clark@arm.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Kan Liang &lt;kan.liang@linux.intel.com&gt;Cc: Leo Yan &lt;leo.yan@linaro.org&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mike Leach &lt;mike.leach@linaro.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;Cc: Stephane Eranian &lt;eranian@google.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Xing Zhengjun &lt;zhengjun.xing@linux.intel.com&gt;Cc: linux-arm-kernel@lists.infradead.orgLink: http://lore.kernel.org/lkml/20220804221816.1802790-4-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Thu, 04 Aug 2022 22:18:02 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>5a059790 - perf jevents: Remove jevents.c</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#5a059790</link>
        <description>perf jevents: Remove jevents.cRemove files and build rules.Remove test for comparing with jevents.py as there is no longer a binaryto compare with.Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Tested-by: John Garry &lt;john.garry@huawei.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Ananth Narayan &lt;ananth.narayan@amd.com&gt;Cc: Andi Kleen &lt;ak@linux.intel.com&gt;Cc: Andrew Kilroy &lt;andrew.kilroy@arm.com&gt;Cc: Caleb Biggers &lt;caleb.biggers@intel.com&gt;Cc: Felix Fietkau &lt;nbd@nbd.name&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: James Clark &lt;james.clark@arm.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Kajol Jain &lt;kjain@linux.ibm.com&gt;Cc: Kan Liang &lt;kan.liang@linux.intel.com&gt;Cc: Kshipra Bopardikar &lt;kshipra.bopardikar@intel.com&gt;Cc: Like Xu &lt;likexu@tencent.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Nick Forrington &lt;nick.forrington@arm.com&gt;Cc: Paul Clarke &lt;pc@us.ibm.com&gt;Cc: Perry Taylor &lt;perry.taylor@intel.com&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Qi Liu &lt;liuqi115@huawei.com&gt;Cc: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;Cc: Sandipan Das &lt;sandipan.das@amd.com&gt;Cc: Santosh Shukla &lt;santosh.shukla@amd.com&gt;Cc: Stephane Eranian &lt;eranian@google.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Xing Zhengjun &lt;zhengjun.xing@linux.intel.com&gt;Link: https://lore.kernel.org/r/20220629182505.406269-5-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Wed, 29 Jun 2022 18:25:05 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;rogers.email@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>00facc76 - perf jevents: Switch build to use jevents.py</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#00facc76</link>
        <description>perf jevents: Switch build to use jevents.pyGenerate pmu-events.c using jevents.py rather than the binary built fromjevents.c.Add a new config variable NO_JEVENTS that is set when there is noarchitecture json or an appropriate python interpreter isn&apos;t present.When NO_JEVENTS is defined the file pmu-events/empty-pmu-events.c iscopied and used as the pmu-events.c file.Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Tested-by: John Garry &lt;john.garry@huawei.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Ananth Narayan &lt;ananth.narayan@amd.com&gt;Cc: Andi Kleen &lt;ak@linux.intel.com&gt;Cc: Andrew Kilroy &lt;andrew.kilroy@arm.com&gt;Cc: Caleb Biggers &lt;caleb.biggers@intel.com&gt;Cc: Felix Fietkau &lt;nbd@nbd.name&gt;Cc: Ian Rogers &lt;rogers.email@gmail.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: James Clark &lt;james.clark@arm.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Kajol Jain &lt;kjain@linux.ibm.com&gt;Cc: Kan Liang &lt;kan.liang@linux.intel.com&gt;Cc: Kshipra Bopardikar &lt;kshipra.bopardikar@intel.com&gt;Cc: Like Xu &lt;likexu@tencent.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Nick Forrington &lt;nick.forrington@arm.com&gt;Cc: Paul Clarke &lt;pc@us.ibm.com&gt;Cc: Perry Taylor &lt;perry.taylor@intel.com&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Qi Liu &lt;liuqi115@huawei.com&gt;Cc: Ravi Bangoria &lt;ravi.bangoria@amd.com&gt;Cc: Sandipan Das &lt;sandipan.das@amd.com&gt;Cc: Santosh Shukla &lt;santosh.shukla@amd.com&gt;Cc: Stephane Eranian &lt;eranian@google.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Xing Zhengjun &lt;zhengjun.xing@linux.intel.com&gt;Link: https://lore.kernel.org/r/20220629182505.406269-4-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Wed, 29 Jun 2022 18:25:04 +0000</pubDate>
        <dc:creator>Ian Rogers &lt;rogers.email@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>517db3b5 - perf jevents: Make build dependency on test JSONs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#517db3b5</link>
        <description>perf jevents: Make build dependency on test JSONsCurrently all JSONs and the mapfile for an arch are dependencies forbuilding pmu-events.cThe test JSONs are missing as a dependency, so add them.Signed-off-by: John Garry &lt;john.garry@huawei.com&gt;Reported-by: Arnaldo Carvalho de Melo &lt;acme@kernel.org&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Ian Rogers &lt;irogers@google.com&gt;Cc: Jin Yao &lt;yao.jin@linux.intel.com&gt;Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: linuxarm@huawei.comLink: http://lore.kernel.org/lkml/90094733-741c-50e5-ac7d-f5640b5f0bdd@huawei.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Tue, 03 Aug 2021 07:44:09 +0000</pubDate>
        <dc:creator>John Garry &lt;john.garry@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>6fdbd824 - tools: build: Fixup host c flags</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#6fdbd824</link>
        <description>tools: build: Fixup host c flagsCommit 0c3b7e42616f (&quot;tools build: Add support for host programs format&quot;)introduced host_c_flags which referenced CHOSTFLAGS. The actual name of thevariable is HOSTCFLAGS. Fix this up.Fixes: 0c3b7e42616f (&quot;tools build: Add support for host programs format&quot;)Signed-off-by: Laura Abbott &lt;labbott@redhat.com&gt;Acked-by: Jiri Olsa &lt;jolsa@kernel.org&gt;Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Tue, 10 Jul 2018 00:45:56 +0000</pubDate>
        <dc:creator>Laura Abbott &lt;labbott@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>e9d32c1b - perf vendor events: Add support for arch standard events</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#e9d32c1b</link>
        <description>perf vendor events: Add support for arch standard eventsFor some architectures (like arm), there are architecture- definedevents. Sometimes these events may be &quot;recommended&quot; according to thearchitecture standard, in that the implementer is free ignore the&quot;recommendation&quot; and create its custom event.This patch adds support for parsing standard events from arch-definedJSONs, and fixing up vendor events when they have implemented theseevents as standard.Support is also ensured that the vendor may implement their own customevents.A new step is added to the pmu events parsing to fix up the vendorevents with the arch-standard events.The arch-defined JSONs must be placed in the arch root folder forpreprocessing prior to tree JSON processing.In the vendor JSON, to specify that the arch event is supported, thekeyword &quot;ArchStdEvent&quot; should be used, like this:[    {        &quot;ArchStdEvent&quot;: &quot;L1D_CACHE_WR&quot;,    },]Matching is based on the &quot;EventName&quot; field in the architecture JSON.No other JSON objects are strictly required. However, for other objectsadded, these take precedence over architecture defined standard events,thus supporting separate events which have the same event code.Signed-off-by: John Garry &lt;john.garry@huawei.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Andi Kleen &lt;ak@linux.intel.com&gt;Cc: Ganapatrao Kulkarni &lt;ganapatrao.kulkarni@cavium.com&gt;Cc: Jiri Olsa &lt;jolsa@redhat.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Shaokun Zhang &lt;zhangshaokun@hisilicon.com&gt;Cc: Will Deacon &lt;will.deacon@arm.com&gt;Cc: William Cohen &lt;wcohen@redhat.com&gt;Cc: linux-arm-kernel@lists.infradead.orgCc: linuxarm@huawei.comLink: http://lkml.kernel.org/r/1520506716-197429-8-git-send-email-john.garry@huawei.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Thu, 08 Mar 2018 10:58:32 +0000</pubDate>
        <dc:creator>John Garry &lt;john.garry@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>7a759cd8 - perf tools: Fix build with ARCH=x86_64</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#7a759cd8</link>
        <description>perf tools: Fix build with ARCH=x86_64With commit: 0a943cb10ce78 (tools build: Add HOSTARCH Makefile variable)when building for ARCH=x86_64, ARCH=x86_64 is passed to perf instead ofARCH=x86, so the perf build process searchs header files fromtools/arch/x86_64/include, which doesn&apos;t exist.The following build failure is seen:  In file included from util/event.c:2:0:    tools/include/uapi/linux/mman.h:4:27: fatal error: uapi/asm/mman.h: No such file or directory    compilation terminated.Fix this issue by using SRCARCH instead of ARCH in perf, just like themain kernel Makefile and tools/objtool&apos;s.Signed-off-by: Jiada Wang &lt;jiada_wang@mentor.com&gt;Tested-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;Acked-by: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Andi Kleen &lt;ak@linux.intel.com&gt;Cc: Eugeniu Rosca &lt;erosca@de.adit-jv.com&gt;Cc: Jan Stancek &lt;jstancek@redhat.com&gt;Cc: Masami Hiramatsu &lt;mhiramat@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Ravi Bangoria &lt;ravi.bangoria@linux.vnet.ibm.com&gt;Cc: Rui Teng &lt;rui.teng@linux.vnet.ibm.com&gt;Cc: Sukadev Bhattiprolu &lt;sukadev@linux.vnet.ibm.com&gt;Cc: Wang Nan &lt;wangnan0@huawei.com&gt;Fixes: 0a943cb10ce7 (&quot;tools build: Add HOSTARCH Makefile variable&quot;)Link: http://lkml.kernel.org/r/1491793357-14977-2-git-send-email-jiada_wang@mentor.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Mon, 10 Apr 2017 03:02:37 +0000</pubDate>
        <dc:creator>Jiada Wang &lt;jiada_wang@mentor.com&gt;</dc:creator>
    </item>
<item>
        <title>80eeb67f - perf jevents: Program to convert JSON file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/tools/perf/pmu-events/Build#80eeb67f</link>
        <description>perf jevents: Program to convert JSON fileThis is a modified version of an earlier patch by Andi Kleen.We expect architectures to create JSON files describing the performancemonitoring (PMU) events that each CPU model/family of the architecturesupports.Following is an example of the JSON file entry for an x86 event:    	[    	...    	{    	&quot;EventCode&quot;: &quot;0x00&quot;,    	&quot;UMask&quot;: &quot;0x01&quot;,    	&quot;EventName&quot;: &quot;INST_RETIRED.ANY&quot;,    	&quot;BriefDescription&quot;: &quot;Instructions retired from execution.&quot;,    	&quot;PublicDescription&quot;: &quot;Instructions retired from execution.&quot;,    	&quot;Counter&quot;: &quot;Fixed counter 1&quot;,    	&quot;CounterHTOff&quot;: &quot;Fixed counter 1&quot;,    	&quot;SampleAfterValue&quot;: &quot;2000003&quot;,    	&quot;SampleAfterValue&quot;: &quot;2000003&quot;,    	&quot;MSRIndex&quot;: &quot;0&quot;,    	&quot;MSRValue&quot;: &quot;0&quot;,    	&quot;TakenAlone&quot;: &quot;0&quot;,    	&quot;CounterMask&quot;: &quot;0&quot;,    	&quot;Invert&quot;: &quot;0&quot;,    	&quot;AnyThread&quot;: &quot;0&quot;,    	&quot;EdgeDetect&quot;: &quot;0&quot;,    	&quot;PEBS&quot;: &quot;0&quot;,    	&quot;PRECISE_STORE&quot;: &quot;0&quot;,    	&quot;Errata&quot;: &quot;null&quot;,    	&quot;Offcore&quot;: &quot;0&quot;    	},    	...    	]All the PMU events supported by a CPU model/family must be grouped into&quot;topics&quot; such as &quot;Pipelining&quot;, &quot;Floating-point&quot;, &quot;Virtual-memory&quot; etc.All events belonging to a topic must be placed in a separate JSON file(eg: &quot;Pipelining.json&quot;) and all the topic JSON files for a CPU model mustbe in a separate directory.	Eg: for the CPU model &quot;Silvermont_core&quot;:    	$ ls tools/perf/pmu-events/arch/x86/Silvermont_core    	Floating-point.json    	Memory.json    	Other.json    	Pipelining.json    	Virtualmemory.jsonFinally, to allow multiple CPU models to share a single set of JSON files,architectures must provide a mapping between a model and its set of events:    	$ grep Silvermont tools/perf/pmu-events/arch/x86/mapfile.csv    	GenuineIntel-6-4D,V13,Silvermont_core,core    	GenuineIntel-6-4C,V13,Silvermont_core,corewhich maps each CPU, identified by [vendor, family, model, version, type]to a directory of JSON files. Thus two (or more) CPU models support theset of PMU events listed in the directory.    	tools/perf/pmu-events/arch/x86/Silvermont_core/Given this organization of files, the program, jevents:	- locates all JSON files for each CPU-model of the architecture,	- parses all JSON files for the CPU-model and generates a C-style	  &quot;PMU-events table&quot; (pmu-events.c) for the model	- locates a mapfile for the architecture	- builds a global table, mapping each model of CPU to the corresponding	  PMU-events table.The &apos;pmu-events.c&apos; is generated when building perf and added to libperf.a.The global table pmu_events_map[] table in this pmu-events.c will be usedin perf in a follow-on patch.If the architecture does not have any JSON files or there is an error inprocessing them, an empty mapping file is created. This would allow thebuild of perf to proceed even if we are not able to provide aliases forevents.The parser for JSON files allows parsing Intel style JSON event files. Thisallows to use an Intel event list directly with perf. The Intel event listscan be quite large and are too big to store in unswappable kernel memory.The conversion from JSON to C-style is straight forward.  The parser knows(very little) Intel specific information, and can be easily extended tohandle fields for other CPUs.The parser code is partially shared with an independent parsing library,which is 2-clause BSD licensed. To avoid any conflicts I marked thosefiles as BSD licensed too. As part of perf they become GPLv2.Committer notes:Fixes:1) Limit maxfds to 512 to avoid nftd() segfaulting on alloca() with a   big rlim_max, as in docker containers - acme2) Make jevents a hostprog, supporting cross compilation - jolsa3) Use HOSTCC for jevents final step - acme4) Define _GNU_SOURCE for asprintf, as we can&apos;t use CC&apos;s EXTRA_CFLAGS,  that has to have --sysroot on the Android NDK 24 - acme5) Removed $(srctree)/tools/perf/pmu-events/pmu-events.c from the   &apos;clean&apos; target, it is generated on $(OUTPUT)pmu-events/pmu-events.c,   which is already taken care of in the original patch - acmeSigned-off-by: Andi Kleen &lt;ak@linux.intel.com&gt;Signed-off-by: Jiri Olsa &lt;jolsa@redhat.com&gt;Signed-off-by: Sukadev Bhattiprolu &lt;sukadev@linux.vnet.ibm.com&gt;Tested-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Madhavan Srinivasan &lt;maddy@linux.vnet.ibm.com&gt;Cc: linuxppc-dev@lists.ozlabs.orgLink: http://lkml.kernel.org/r/1473978296-20712-3-git-send-email-sukadev@linux.vnet.ibm.comLink: http://lkml.kernel.org/r/20160927141846.GA6589@kravaSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux-6.15/tools/perf/pmu-events/Build</description>
        <pubDate>Mon, 19 Sep 2016 20:39:33 +0000</pubDate>
        <dc:creator>Andi Kleen &lt;ak@linux.intel.com&gt;</dc:creator>
    </item>
</channel>
</rss>
