[Query] Generating profile for propeller fails

From: Harshit Mogalapalli
Date: Mon Sep 08 2025 - 15:36:21 EST


Hi Rong and Han,


Thanks for your work on auofdo and propeller.

I was trying autofdo and propeller with the latest 6.17-rc4 linux kernel.

I have built the kernel rpm with LLVM=1 and I have installed LLVM from latest source from the git. (https://github.com/llvm/llvm-project.git 93c2eecda521049ca6334830a69fdff54967b440)

# grep -e "AUTOFDO" /boot/config-6.17.0-rc4
CONFIG_ARCH_SUPPORTS_AUTOFDO_CLANG=y
CONFIG_AUTOFDO_CLANG=y

# grep -e "PROPELLER" /boot/config-6.17.0-rc4
CONFIG_ARCH_SUPPORTS_PROPELLER_CLANG=y
CONFIG_PROPELLER_CLANG=y

# uname -a
Linux hamogala-vm-1 6.17.0-rc4 #17 SMP PREEMPT_DYNAMIC Mon Sep 8 07:49:54 GMT 2025 x86_64 x86_64 x86_64 GNU/Linux


Collected the profile using:

# perf record --pfm-events BR_INST_RETIRED.NEAR_TAKEN:k -a -N -b -c 500009 -o rc4-propeller-intel.data -- load.sh

# dmesg | grep -i lbr
[ 0.289671] Performance Events: PEBS fmt4+-baseline, AnyThread deprecated, Icelake events, 32-deep LBR, full-width counters, Intel PMU driver.

Now when I copy this perf data to the other machine where I compiled my kernel and tried to create a profile with create_llvm_prof tool from the latest autofdo project like this:

# time ./create_llvm_prof --binary=vmlinux --profile=rc4-propeller-intel.data --format=propeller --propeller_output_module_name --out=prop_cc_profile.txt --propeller_symorder=prop_ld_profile.txt

I run into this error: ( Note the kernel is autofdo trained kernel yet, but I am trying propeller directly:)


W20250908 19:18:38.009934 2251492 llvm_propeller_perf_lbr_aggregator.cc:103] not a potentially-control-flow-affecting instruction at address: 0xffffffff8184d60a with counter sum 2090, instruction name: NOOP
I20250908 19:18:38.013391 2251492 llvm_propeller_binary_address_mapper.cc:463] Started reading the binary content from: vmlinux
E20250908 19:18:38.115377 2251492 create_llvm_prof.cc:238] INTERNAL: Failed to read the LLVM_BB_ADDR_MAP section from vmlinux: unable to read SHT_LLVM_BB_ADDR_MAP section with index 59: unsupported SHT_LLVM_BB_ADDR_MAP version: 3.


Any suggestions/thoughts on why this could happen ?

Thanks,
Harshit