<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-kernel/perf, branch mickledore-next</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=mickledore-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=mickledore-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2023-03-11T00:08:41+00:00</updated>
<entry>
<title>perf: fix buildpaths QA warning</title>
<updated>2023-03-11T00:08:41+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2023-03-10T04:12:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=64c96cbe52754e803a905513d582e2d35e837cdf'/>
<id>urn:sha1:64c96cbe52754e803a905513d582e2d35e837cdf</id>
<content type='text'>
In the 6.2+ kernel, arm64 perf has a buildpaths QA warning as
a syscall table is now being dynamically generated. That generated
table includes unistd.h by absolute path, which in turn triggers
the buildpaths QA warning.

This could easily be patched in linux-yocto, but that would
leave the QA issue in perf built from other kernel trees.

So we instead to the following:

 - Add the perf tools directory to the include path
 - Modify the Makefile to have a relative path to unistd.h and
   pass both the relative and absolute path to the generation
   script
 - Modify the generation script to take the relative location
   of unistd.h as a new parameter, and use that in the generated
   sycalls.c file

At build, the added include path of the perf source allows the
relative path file to be included, and no buildpaths warning is
generated.

(From OE-Core rev: c8845ab59cd7c28874473618f134a5d45906d6ea)

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Enable debug/source packaging</title>
<updated>2023-02-04T17:02:10+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-02-03T16:49:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3ff392fb585439960ee34316132aca5740dbd7c5'/>
<id>urn:sha1:3ff392fb585439960ee34316132aca5740dbd7c5</id>
<content type='text'>
This was disabled in 2014[1] due to an error message which as far
as I can tell, no longer occurs.

Having debug information and source files present will make debugging
reproducibility issues much easier so remove this line as it appears
no longer needed.

Fix up a few files which have buildpaths in them to avoid QA warnings
and reproducubility issues.

[1] OE-Core revision c1b5a262c0201faf2c6bf545d6acb32dfe383ba3

(From OE-Core rev: 95983108121c8b96f5659d110498bf2afc6189d9)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Fix 6.1 kernel reproducibility issue</title>
<updated>2023-02-03T16:52:15+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-02-03T12:06:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=063bdffc04714c7ed4bdba2aa93a19dd94f256a9'/>
<id>urn:sha1:063bdffc04714c7ed4bdba2aa93a19dd94f256a9</id>
<content type='text'>
The pmu-events.c file is generated by a python script making os.scandir()
calls. The return value is "order on disk" which can cary between machines.

Add in a sed to fix the perf source to sort this data which makes
the pmu-events.c file deterministic.

We should try and upstream this change but we'll need to sed for varying
kernel versions. We should also try and get the perf source being added
to the perf-devsrc package so when failures like this occur, diffoscope
is much more helpful!

(From OE-Core rev: d2c27ae5c0d06363d2f0a2a8eb4e8e492df58444)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Depend on native setuptools3</title>
<updated>2022-10-25T12:42:03+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2022-10-11T03:02:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dc0af3be0f5477adf4e2ac8a2d7c1b7c36fe4d8e'/>
<id>urn:sha1:dc0af3be0f5477adf4e2ac8a2d7c1b7c36fe4d8e</id>
<content type='text'>
perf has need for python setuptools when scripting is enabled
from 6.0.0 onwards it seems to throw an explicit error

(From OE-Core rev: da3d00178809bbf7cc453401e0c5937796ebc2c1)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Cc: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Fix for recent kernel upgrades</title>
<updated>2022-09-21T08:20:49+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-09-20T11:11:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f4951a44c666505d718815d92d3900fcdd5a0304'/>
<id>urn:sha1:f4951a44c666505d718815d92d3900fcdd5a0304</id>
<content type='text'>
With recent kernel changes in stable, the full path to python was being
encoded into binaries and python install files. Add some workarounds
for both issues to fix build reproducibility issues.

(From OE-Core rev: cf33e2ab2693eafaf0e5fc45666355d60e084281)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Add packageconfig for libbfd support and use disabled as default</title>
<updated>2022-08-16T13:57:58+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2022-08-15T03:48:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dfc6a93d0bac0ac25c77beb7d2bead45dbdab2ef'/>
<id>urn:sha1:dfc6a93d0bac0ac25c77beb7d2bead45dbdab2ef</id>
<content type='text'>
Disable it by default, libbfd changes with binutils major releases and
sometimes it creates a dependency to fix it. See [1]

This will help building with binutils 2.39

[1] https://lore.kernel.org/lkml/20210910225756.729087-1-irogers@google.com/T/

(From OE-Core rev: 119b37cd59163970476644183ed509a2d2ea6acd)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Cc: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Fix reproducibility issues with 5.19 onwards</title>
<updated>2022-08-12T10:46:26+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2022-08-11T13:27:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=0b7567d577fd63ac6a40dac01489be106a34e184'/>
<id>urn:sha1:0b7567d577fd63ac6a40dac01489be106a34e184</id>
<content type='text'>
In 5.19 onwards the build process changed and encoded full build paths
into the output. Adapt the code to look more like our setuptools class
calls. This seems to work ok with older kernels too.

(From OE-Core rev: 138673f833a72c636a7fa185089f25dda350dc54)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: fix reproduciblity in older releases of Linux</title>
<updated>2022-07-23T12:55:26+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@arm.com</email>
</author>
<published>2022-07-20T16:08:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a0e690138c6c91f95a0ef9d2132d3deea2e7d198'/>
<id>urn:sha1:a0e690138c6c91f95a0ef9d2132d3deea2e7d198</id>
<content type='text'>
If you build perf from Linux 5.4 it still contains buildpaths (pointing
to the sysroot's Python) as the existing fixes don't apply to the lines
in that old release.

Add further expressions to remove the final buildpaths.

(From OE-Core rev: 6783c1e295e5afafd73a02fd986ca8956a89dda7)

Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: fix reproducibility in 5.19+</title>
<updated>2022-07-04T21:51:49+00:00</updated>
<author>
<name>Bruce Ashfield</name>
<email>bruce.ashfield@gmail.com</email>
</author>
<published>2022-07-04T15:13:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4a75d478da3bd5cca1f86f6b23afbda5a6c74ac5'/>
<id>urn:sha1:4a75d478da3bd5cca1f86f6b23afbda5a6c74ac5</id>
<content type='text'>
kernels with upstream commit 630af16eee495f583db5202c3613d1b191f10694
[perf tools: Use Python devtools for version autodetection rather than
runtime], or -stable backports of that commmit, evade our substitutions
for reproducibility.

We add a second sed expression to ensure that our definition of python
is used, as we have the proper environement setup and don't need the
full path of python, which eventually will be captured by the perf
binaries.

(From OE-Core rev: b24e73fb34049061ea03a6f2b6a54cdbee7b406b)

Signed-off-by: Bruce Ashfield &lt;bruce.ashfield@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: sort-pmuevents: really keep array terminators</title>
<updated>2022-06-22T21:40:28+00:00</updated>
<author>
<name>Lucas Stach</name>
<email>l.stach@pengutronix.de</email>
</author>
<published>2022-06-21T17:02:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=04a4ecd767c1bc33c0165792779f5d961aefd5f6'/>
<id>urn:sha1:04a4ecd767c1bc33c0165792779f5d961aefd5f6</id>
<content type='text'>
Commit e1382583cd50 ("perf: sort-pmuevents: don't drop elements") tried
to fix a case where the array terminator elements were dropped from the
sorted list breaking the build, but it only worked for the case where
the terminator is the only element of the array. When the array has other
elements the terminator will still be silently dropped, causing invalid
memory accesses at runtime when the perf utility iterates over the array.

Fix this by treating any unmatched entry as an array terminator and also
add a comment to make it a little more clear how things are ending up at
the right position in the sorted list.

(From OE-Core rev: 69c35a48c5100b884f1b633142b07222b9390e92)

Signed-off-by: Lucas Stach &lt;l.stach@pengutronix.de&gt;
Signed-off-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
