chainsx / armbian-riscv-build

armbian for riscv64 devices such as LicheePi 4A, MangoPi MQ Pro...
GNU General Public License v2.0
24 stars 3 forks source link

6.6-rc5内核的perf使用硬件事件(cpu-cycles)异常 #13

Closed ixgbe closed 11 months ago

ixgbe commented 1 year ago

大佬,您好。我在 https://github.com/armbian/build 官方的armbian 使用了编译命令: ./compile.sh BOARD=licheepi-4a BRANCH=edge RELEASE=jammy BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_CONFIGURE=yes COMPRESS_OUTPUTIMAGE=sha,gpg,xz. 成功编译出v6.6-rc5镜像。u-boot使用的是: https://github.com/chainsx/fedora-riscv-builder/releases 下的lpi4a-8gb-u-boot-with-spl.bin 最后通过UMS将镜像刷入到eMMC. 6.6-rc5内核可以正常启动。

6.6-rc5内核编译选项: CONFIG_PERF_EVENTS、CONFIG_KALLSYMS、CONFIG_KALLSYMS_ALL CONFIG_FRAME_POINTER 、CONFIG_STACKTRACE、CONFIG_ERRATA_THEAD、CONFIG_ERRATA_THEAD_PMU、CONFIG_RISCV_PMU、CONFIG_RISCV_PMU_LEGACY、CONFIG_RISCV_PMU_SBI 等选项已经打开

下载内核源码,用于编译perf git clone -b th1520-v6.6-rc5 https://github.com/revyos/th1520-linux-kernel.git

hackbench下载源码:https://github.com/FraSharp/hackbench git clone https://github.com/FraSharp/hackbench.git

hackbench编译: gcc -static -O0 -g -fno-omit-frame-pointer hackbench.c -o hackbench -lpthread

perf record -e cpu-cycles -g ./hackbench 测试程序时,无法采集到调用栈 [硬件事件PMU 异常] perf record -e cpu-clock -g ./hackbench 测试程序时,可以采集到调用栈 [软件事件正常] image

v6.6-rc5内核启动中OpenSBI v1.3 启动信息表明:Platform PMU Device : ---
image

v6.6-rc5与PMU相关的启动信息 image

目前,我猜测是 OpenSBI 的问题。大佬,你给看看呢?

chainsx commented 1 year ago

主线内核的问题可以往这里发: https://github.com/revyos/th1520-linux-kernel

ixgbe commented 1 year ago

刚看了一下 https://github.com/revyos/th1520-linux-kernel 没有提供issues 的接口

chainsx commented 1 year ago

你可以试试将 boot 分区下的 fw_dynamic.bin 换成用最新 https://github.com/revyos/opensbi 编译的试试, 或者换回原厂的 https://github.com/revyos/thead-opensbi。 (之前我测试的结果是使用 thead-opensbi 不能正常引导主线内核,但是刚刚问过 revy,他说现在可以了)

感谢您的反馈,我已经把问题提交给了 revy,由于我最近比较忙(在准备考试),你需要自己测试一下。

ixgbe commented 1 year ago

好的,非常感谢!!!祝大佬考试顺利!!!

inochisa commented 1 year ago

T头的c9xx需要设置一个专门的SBI PMU驱动才可以正常运转,这个代码可以再OpenSBI邮件列表中找到,(其实就几行代码).另外还需要再dtb里面编写pmu事件的映射.这两个完成了perf事件应该就可以用了.

当然现在c9xx的PMU还是有一大堆bug,所以出啥事都有可能(

ixgbe commented 1 year ago

我在 https://github.com/riscv-software-src/opensbi openSBI网站上未曾找到, 您可以把OpenSBI邮件列表的网址发一下嘛,万分感谢。

inochisa commented 1 year ago

http://lists.infradead.org/pipermail/opensbi/