We will take a look at this issue and get back to you. Thanks for reporting this. Best Regards, -Rong On Thu, Dec 12, 2024 at 1:34 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > On Thu, Dec 12, 2024 at 01:20:46PM -0800, Yonghong Song wrote: > ... > > > +5) Use the create_llvm_prof tool (https://github.com/google/autofdo) to > > > + generate Propeller profile. :: > > > + > > > + $ create_llvm_prof --binary=<vmlinux> --profile=<perf_file> > > > + --format=propeller --propeller_output_module_name > > > + --out=<propeller_profile_prefix>_cc_profile.txt > > > + --propeller_symorder=<propeller_profile_prefix>_ld_profile.txt > > > > Prevously I am using perf-6.8.5-0.hs1.hsx.el9.x86_64 and it works fine. > > Now in my system, the perf is upgraded to 6.12.gadc218676eef > > > > [root@twshared7248.15.atn5 ~]# perf --version > > perf version 6.12.gadc218676eef > > > > and create_llvm_prof does not work any more. > > > > The command to collect sampling data: > > > > # perf record -e BR_INST_RETIRED.NEAR_TAKEN:k -a -N -b -c 500009 -- stress --cpu 36 --io 36 --vm 36 --vm-bytes 128M --timeout 300s > > stress: info: [536354] dispatching hogs: 36 cpu, 36 io, 36 vm, 0 hdd > > stress: info: [536354] successful run completed in 300s > > [ perf record: Woken up 2210 times to write data ] > > [ perf record: Captured and wrote 562.529 MB perf.data (701971 samples) ] > > # uname -r > > 6.11.1-0_fbk0_lto_rc19_612_gb572dfac1b39 > > > > The kernel is a 6.11 lto kernel. > > > > I then run the following command: > > $ cat ../run.sh > > # perf record -e BR_INST_RETIRED.NEAR_TAKEN:k -a -N -b -c 500009 \ > > # -- stress --cpu 36 --io 36 --vm 36 --vm-bytes 128M --timeout 300s > > # good: perf-6.8.5-0.hs1.hsx.el9.x86_64 > > > > # <propeller_profile_prefix>: /tmp/propeller > > ./create_llvm_prof --binary=vmlinux-6.11.1-0_fbk0_lto_rc19_612_gb572dfac1b39 \ > > --profile=perf.data \ > > --format=propeller --propeller_output_module_name \ > > --out=/tmp/propeller_cc_profile.txt \ > > --propeller_symorder=/tmp/propeller_ld_profile.txt > > > > $ ./run.sh > > WARNING: Logging before InitGoogleLogging() is written to STDERR > > I20241212 13:12:18.401772 463318 llvm_propeller_binary_content.cc:376] 'vmlinux-6.11.1-0_fbk0_lto_rc19_612_gb572dfac1b39' is PIE: 0 > > I20241212 13:12:18.403692 463318 llvm_propeller_binary_content.cc:380] 'vmlinux-6.11.1-0_fbk0_lto_rc19_612_gb572dfac1b39' is relocatable: 0 > > I20241212 13:12:18.404873 463318 llvm_propeller_binary_content.cc:388] Build Id found in 'vmlinux-6.11.1-0_fbk0_lto_rc19_612_gb572dfac1b39': eaacd5a14abc48cf832b3ad0fa6c64635ab569a8 > > I20241212 13:12:18.521499 463318 llvm_propeller_binary_content.cc:376] 'vmlinux-6.11.1-0_fbk0_lto_rc19_612_gb572dfac1b39' is PIE: 0 > > I20241212 13:12:18.521530 463318 llvm_propeller_binary_content.cc:380] 'vmlinux-6.11.1-0_fbk0_lto_rc19_612_gb572dfac1b39' is relocatable: 0 > > I20241212 13:12:18.521553 463318 llvm_propeller_binary_content.cc:388] Build Id found in 'vmlinux-6.11.1-0_fbk0_lto_rc19_612_gb572dfac1b39': eaacd5a14abc48cf832b3ad0fa6c64635ab569a8 > > I20241212 13:12:18.521611 463318 llvm_propeller_perf_lbr_aggregator.cc:51] Parsing [1/1] perf.data ... > > [ERROR:/home/runner/work/autofdo/autofdo/third_party/perf_data_converter/src/quipper/perf_reader.cc:1386] Event size 132 after uint64_t alignment of the filename length is greater than event size 128 reported by perf for the buildid event of type 0 > > W20241212 13:12:18.521708 463318 llvm_propeller_perf_lbr_aggregator.cc:55] Skipped profile [1/1] perf.data: FAILED_PRECONDITION: Failed to read perf data file: [1/1] perf.data > > W20241212 13:12:18.521718 463318 llvm_propeller_perf_lbr_aggregator.cc:67] Too few branch records in perf data. > > E20241212 13:12:18.554437 463318 create_llvm_prof.cc:238] FAILED_PRECONDITION: No perf file is parsed, cannot proceed. > > > > > > Could you help take a look why perf 12 does not work with create_llvm_prof? > > The create_llvm_prof is downloaded from https://github.com/google/autofdo/releases/tag/v0.30.1. > > I think Peter may have reported the same issue on GitHub? > > https://github.com/google/autofdo/issues/233 > > I wonder if this is a kernel side or perf tool regression? > > Cheers, > Nathan