From: Harish Sadineni <[email protected]>

Running /usr/share/bcc/tools/runqlat 1 5 gives following error:-

libbpf: failed to find valid kernel BTF
/virtual/main.c:92:15: error: no member named 'state' in 'struct task_struct'
if (prev->state == TASK_RUNNING) {
~~~~ ^
1 error generated.

It is due to the modification of state to __state in latest kernels.

The following commit addressed the issue which checks whether the struct 
"task_struct" has __state or state
https://github.com/chenhengqi/bcc/commit/d3cf5dcecfaeb6d8d346e2228626a7dbe506ad38
The above patch requires enabling CONFIG_DEBUG_INFO_BTF in the kernel
and requires pahole.

Signed-off-by: Harish Sadineni <[email protected]>
---
 meta/recipes-kernel/linux/linux-yocto.inc     | 3 ++-
 meta/recipes-kernel/linux/linux-yocto/cg2.cfg | 2 ++
 meta/recipes-kernel/linux/linux-yocto/cg2.scc | 1 +
 meta/recipes-kernel/linux/linux-yocto_6.6.bb  | 2 ++
 4 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/cg2.cfg
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/cg2.scc

diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
b/meta/recipes-kernel/linux/linux-yocto.inc
index 0132fcffb3..d6b4794d32 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -65,11 +65,12 @@ KERNEL_DEBUG ?= ""
 DEPENDS += '${@bb.utils.contains_any("ARCH", [ "x86", "arm64", "powerpc" ], 
"elfutils-native", "", d)}'
 DEPENDS += "openssl-native util-linux-native"
 DEPENDS += "gmp-native libmpc-native"
+DEPENDS += "pahole-native"
 
 # Some options depend on CONFIG_PAHOLE_VERSION, so need to make pahole-native 
available before do_kernel_configme
 do_kernel_configme[depends] += '${@bb.utils.contains("KERNEL_DEBUG", "True", 
"pahole-native:do_populate_sysroot", "", d)}'
 
-EXTRA_OEMAKE += '${@bb.utils.contains("KERNEL_DEBUG", "True", "", 
"PAHOLE=false", d)}'
+EXTRA_OEMAKE += '${@bb.utils.contains("KERNEL_DEBUG", "True", "", "", d)}'
 
 do_devshell:prepend() {
     # setup native pkg-config variables (kconfig scripts call pkg-config 
directly, cannot generically be overriden to pkg-config-native)
diff --git a/meta/recipes-kernel/linux/linux-yocto/cg2.cfg 
b/meta/recipes-kernel/linux/linux-yocto/cg2.cfg
new file mode 100644
index 0000000000..7c60e87a1a
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto/cg2.cfg
@@ -0,0 +1,2 @@
+CONFIG_IKHEADERS=y
+CONFIG_DEBUG_INFO_BTF=y
diff --git a/meta/recipes-kernel/linux/linux-yocto/cg2.scc 
b/meta/recipes-kernel/linux/linux-yocto/cg2.scc
new file mode 100644
index 0000000000..7047be85f7
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto/cg2.scc
@@ -0,0 +1 @@
+kconf non-hardware cg2.cfg
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.6.bb 
b/meta/recipes-kernel/linux/linux-yocto_6.6.bb
index 62c0f0ab36..cba61aa2d7 100644
--- a/meta/recipes-kernel/linux/linux-yocto_6.6.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_6.6.bb
@@ -72,3 +72,5 @@ KERNEL_FEATURES:append:powerpc64le =" 
arch/powerpc/powerpc-debug.scc"
 
 INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"
 
+SRC_URI += "file://cg2.scc"
+KERNEL_FEATURES += "cg2.scc"
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#201473): 
https://lists.openembedded.org/g/openembedded-core/message/201473
Mute This Topic: https://lists.openembedded.org/mt/107018570/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to