<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-kernel/perf, branch master-next</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=master-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=master-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2025-11-07T13:15:35+00:00</updated>
<entry>
<title>debug_build.inc: collect debug build tuning configuration</title>
<updated>2025-11-07T13:15:35+00:00</updated>
<author>
<name>Hongxu Jia</name>
<email>hongxu.jia@windriver.com</email>
</author>
<published>2025-10-10T07:52:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d8974e3ae4c1c02c8dd6b291cda6c878380c1065'/>
<id>urn:sha1:d8974e3ae4c1c02c8dd6b291cda6c878380c1065</id>
<content type='text'>
The modern compilers and code seem to require extra steps to avoid DEBUG errors,
Move debug tuning configuration from recipes to an include file to address these
errors.

Drop `:remove' operation on variable, override variables directly

Suggested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
(From OE-Core rev: 05c0f9caab3e76f2dfdaebba2fbd6c036f9737c5)

Signed-off-by: Hongxu Jia &lt;hongxu.jia@windriver.com&gt;
Signed-off-by: Mathieu Dubois-Briand &lt;mathieu.dubois-briand@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Tweak reproducibility fix</title>
<updated>2025-10-16T09:53:10+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2025-10-15T22:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a320a45220ee4cbf527e13ba89382c9d13942d55'/>
<id>urn:sha1:a320a45220ee4cbf527e13ba89382c9d13942d55</id>
<content type='text'>
Instead of building libperf.a, we should run install_headers as with the other
libraries. Hopefully this resolves the remaining race issue around headers.

(From OE-Core rev: 647589fab1fb73a985cbba4c1bec2004831508ca)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Bump versions to resolve hashequiv/reproducibility issues</title>
<updated>2025-10-15T16:15:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2025-10-14T06:18:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=64a879e9b61b56e8bd8070b3f906d9d35fc4153d'/>
<id>urn:sha1:64a879e9b61b56e8bd8070b3f906d9d35fc4153d</id>
<content type='text'>
(From OE-Core rev: 39ae9a1061fcfe8c30df511b6f00e407b80ffc4c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Improve build race/reproducibulity fixes</title>
<updated>2025-10-13T17:01:03+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2025-10-13T11:32:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b12f36c46e6080df386cc359fc15b61984315ca5'/>
<id>urn:sha1:b12f36c46e6080df386cc359fc15b61984315ca5</id>
<content type='text'>
The include options shouldn't be needed with the make fix but issues still remained.
Looking at the logs, it looks like these are from other header directories and
we need to run "make install_headers" for all of the sub components before starting
the main build.

Update the workaround to do that for each component with internal header copies.

(From OE-Core rev: 0b5f0a7b1db9f6923c027719181fa60f8fdb73e4)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: fix reproducibility issue occasionally</title>
<updated>2025-09-24T10:06:42+00:00</updated>
<author>
<name>hongxu</name>
<email>hongxu.jia@eng.windriver.com</email>
</author>
<published>2025-09-23T12:58:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4f99a9eb031020c10b2a10b431ab8be6d75a534e'/>
<id>urn:sha1:4f99a9eb031020c10b2a10b431ab8be6d75a534e</id>
<content type='text'>
Due to commit [1] applied in kernel v6.16 (such as qemux86-64),
perl has reproducibility issue occasionally.

Perf's build process generates two copies of its internal headers,
one at tools/lib/perf/include/internal and one at libperf/include/internal
with files like core.h. Although the files are identical, the binaries including
them would see them at different paths and have different debuginfo data. [2]

The reason is the order of include dir `tools/lib/perf/include' and
`libperf/include' is not stable, such as

$ x86_64-poky-linux-gcc  ... \
   -Ipath-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/tools/lib/perf/include \
   -Ipath-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/libperf/include \
   -c -o path-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/libperf/core.o core.c

$ recipe-sysroot-native/usr/bin/dwarfsrcfiles sources/perf-1.0/libperf/core.o
/usr/src/debug/perf/1.0/tools/lib/perf/core.c
...
        /usr/src/debug/perf/1.0/tools/lib/perf/include/perf/core.h
        /usr/src/debug/perf/1.0/tools/lib/perf/include/internal/lib.h
...

$ x86_64-poky-linux-gcc  ... \
   -Ipath-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/libperf/include \
   -Ipath-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/tools/lib/perf/include \
   -c -o path-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/libperf/core.o core.c

$ recipe-sysroot-native/usr/bin/dwarfsrcfiles sources/perf-1.0/libperf/core.o
/usr/src/debug/perf/1.0/tools/lib/perf/core.c
...
    /usr/src/debug/perf/1.0/libperf/include/perf/core.h
    /usr/src/debug/perf/1.0/libperf/include/internal/lib.h
...

This commit explicitly sets the order of these two include dirs
in EXTRA_CFLAGS.

This commit has no regression for kernel v6.6 (such as genericx86-64)

Also enable verbose for compile to trace the detail of build

[1] https://github.com/torvalds/linux/commit/f5b07010c13c77541e8ade167d05bef3b8a63739
[2] https://git.openembedded.org/openembedded-core/commit/?id=0a886fcacaab0fbce1306c0f99d482f940a8f705

(From OE-Core rev: e18d697e92b55e57124e80234369d46575226386)

Signed-off-by: Hongxu Jia &lt;hongxu.jia@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: Fix reproducibility issue</title>
<updated>2025-09-12T09:30:53+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2025-09-11T11:36:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dcb834c4f8ebbef967c9e92e008d288ad5278e90'/>
<id>urn:sha1:dcb834c4f8ebbef967c9e92e008d288ad5278e90</id>
<content type='text'>
Perf's build process generates two copies of its internal headers,
one at tools/lib/perf/include/internal and one at libperf/include/internal
with files like xyarray.h. Although the files are identical, the binaries including
them would see them at different paths and have different debuginfo data.

To avoid this, build libperf.a first, which will ensure the libperf
headers directory exists. This is used in preference to the other by
the build process and results in consistent binaries.

(From OE-Core rev: 0a886fcacaab0fbce1306c0f99d482f940a8f705)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>perf: enable coresight if enabled in MACHINE_FEATURES</title>
<updated>2025-09-08T17:02:39+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@arm.com</email>
</author>
<published>2025-09-03T16:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c4324cbff2e66a39ca06e4e2c9e22629e4fe80be'/>
<id>urn:sha1:c4324cbff2e66a39ca06e4e2c9e22629e4fe80be</id>
<content type='text'>
Enable the CoreSight[1] functionality in perf[2] if 'coresight' is in the
MACHINE_FEATURES.

Note that enabling this will mean a dependency on the opencsd recipe,
which is currently part of meta-arm[3]. I don't think this is a problem
as this recipe is Arm-specific, and as this is a new feature the
behaviour is opt-in so shouldn't break any existing machines.

[1] https://docs.kernel.org/trace/coresight/coresight.html
[2] https://docs.kernel.org/trace/coresight/coresight-perf.html
[3] https://git.yoctoproject.org/meta-arm/tree/meta-arm/recipes-devtools/opencsd

(From OE-Core rev: c455bd039104466b26a959a6495dbb5a642b4533)

Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Mathieu Dubois-Briand &lt;mathieu.dubois-briand@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>kernelsrc/perf: clean up package version while using kernel source</title>
<updated>2025-07-03T09:40:17+00:00</updated>
<author>
<name>Hongxu Jia</name>
<email>hongxu.jia@windriver.com</email>
</author>
<published>2025-07-02T02:44:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=37dd8810df2205ce12722f44293cf8991fc4704e'/>
<id>urn:sha1:37dd8810df2205ce12722f44293cf8991fc4704e</id>
<content type='text'>
If recipe inherits bbclass kernelsrc to use kernel sources,
the recipe should explicitly set ${KERNEL_VERSION} to ${PKGV}
in task do_package, otherwise package version (${PV} is usually
default 1.0) is not consistent with kernel source.

For example, there are 5 recipes in meta-openembedded to inherit
kernelsrc, but 4 recipes explicitly set PKGV.

meta-openembedded$ grep -e "setVar(.*PKGV.*KERNEL_VERSION" -e kernelsrc -rn *
meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb:9:inherit kernelsrc
meta-oe/recipes-kernel/bpftool/bpftool.bb:8:inherit bash-completion kernelsrc kernel-arch
meta-oe/recipes-kernel/bpftool/bpftool.bb:44:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/cpupower/cpupower.bb:8:inherit kernelsrc kernel-arch bash-completion
meta-oe/recipes-kernel/cpupower/cpupower.bb:32:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/turbostat/turbostat.bb:98:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:25:inherit kernelsrc autotools-brokensep
meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:68:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
meta-oe/recipes-kernel/spidev-test/spidev-test.bb:7:inherit bash-completion kernelsrc kernel-arch
meta-oe/recipes-kernel/spidev-test/spidev-test.bb:26:    d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])

This commit clean up the setting of PKGV, move it to kernelsrc.bbclass
for common use, the recipe (such as intel-speed-select) that inherited
kernelsrc will not be required to explicitly set ${PKGV} with
${KERNEL_VERSION}

(From OE-Core rev: 77a93e8cf1da4231341c56f64f9d4d474f9f2bb7)

Signed-off-by: Hongxu Jia &lt;hongxu.jia@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>meta: remove consecutive blank lines</title>
<updated>2025-06-20T11:07:27+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex@linutronix.de</email>
</author>
<published>2025-06-16T09:50:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=dc9faa3cdc057983b55fb6bd19091722c58bc62c'/>
<id>urn:sha1:dc9faa3cdc057983b55fb6bd19091722c58bc62c</id>
<content type='text'>
Some of them were introduced by mass-removal of S = WORKDIR/git assignments;
rather than try to fix up (or redo) just these, I've run this sed command over
the whole tree:

sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc`

The rationale is that more than one empty line is wasting vertical screen space, and
does nothing for readability.

(From OE-Core rev: cedc4ff7c9bcfb22a20e43e47f9759f4007a4f1a)

Signed-off-by: Alexander Kanavin &lt;alex@linutronix.de&gt;
Signed-off-by: Mathieu Dubois-Briand &lt;mathieu.dubois-briand@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>meta: set S to be in UNPACKDIR in recipes that explicitly set S</title>
<updated>2025-06-20T11:07:26+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex@linutronix.de</email>
</author>
<published>2025-06-16T09:49:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e1f059f34e7f1e6a252aff1ec5b1eb3376bd4d65'/>
<id>urn:sha1:e1f059f34e7f1e6a252aff1ec5b1eb3376bd4d65</id>
<content type='text'>
(From OE-Core rev: 7321cc17ae5483f17fe9cdffea7b62acd9d9c3a2)

Signed-off-by: Alexander Kanavin &lt;alex@linutronix.de&gt;
Signed-off-by: Mathieu Dubois-Briand &lt;mathieu.dubois-briand@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
