From patchwork Wed Sep 3 16:24:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 69605 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA982CA0FF2 for ; Wed, 3 Sep 2025 16:24:23 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.17285.1756916656600627927 for ; Wed, 03 Sep 2025 09:24:16 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A053D1655 for ; Wed, 3 Sep 2025 09:24:07 -0700 (PDT) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id AAA113F6A8 for ; Wed, 3 Sep 2025 09:24:15 -0700 (PDT) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH v2] perf: enable coresight if enabled in MACHINE_FEATURES Date: Wed, 3 Sep 2025 17:24:11 +0100 Message-ID: <20250903162411.2709923-1-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 03 Sep 2025 16:24:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/222875 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 Signed-off-by: Ross Burton --- meta/recipes-kernel/perf/perf.bb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index 4f29bd5bbc3..b142b090b55 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -10,7 +10,9 @@ HOMEPAGE = "https://perf.wiki.kernel.org/index.php/Main_Page" LICENSE = "GPL-2.0-only" # zstd is required for kernels 6.14+ when libelf-zstd is detected -PACKAGECONFIG ??= "python tui libunwind libtraceevent zstd" +# Respect the coresight machine feature, but note this causes a +# dependency on meta-arm. +PACKAGECONFIG ??= "python tui libunwind libtraceevent zstd ${@bb.utils.filter('MACHINE_FEATURES', 'coresight', d)}" PACKAGECONFIG[dwarf] = ",NO_DWARF=1" PACKAGECONFIG[perl] = ",NO_LIBPERL=1,perl" PACKAGECONFIG[python] = ",NO_LIBPYTHON=1,python3 python3-setuptools-native" @@ -28,7 +30,7 @@ PACKAGECONFIG[libtraceevent] = ",NO_LIBTRACEEVENT=1,libtraceevent" # jevents requires host python for generating a .c file, but is # unrelated to the python item. PACKAGECONFIG[jevents] = ",NO_JEVENTS=1,python3-native" -# Arm CoreSight +# Arm CoreSight support, requires meta-arm for opencsd PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd" PACKAGECONFIG[pfm4] = ",NO_LIBPFM4=1,libpfm4" PACKAGECONFIG[babeltrace] = ",NO_LIBBABELTRACE=1,babeltrace"