facebookarchive / BOLT

Binary Optimization and Layout Tool - A linux command-line utility used for optimizing performance of binaries
2.51k stars 178 forks source link

couldn't apply bolt to linux kernel #67

Open meghendra6 opened 4 years ago

meghendra6 commented 4 years ago

I've tried to apply BOLT to vmlinux of android linux kernel. but I faced to below error message.

PERF2BOLT: Starting data aggregation job for perf.data
PERF2BOLT: spawning perf job to read events without LBR
PERF2BOLT: spawning perf job to read mem events
PERF2BOLT: spawning perf job to read process events
PERF2BOLT: spawning perf job to read task events
BOLT-INFO: Target architecture: aarch64
BOLT-INFO: shared object or position-independent executable detected
BOLT-INFO: first alloc address is 0xffffff8008080000
BOLT-INFO: creating new program header table at address 0xffffff800ba00000, offset 0x3980000
BOLT-WARNING: build-id will not be checked because we could not read one from input binary
BOLT-WARNING: non-relocation mode for AArch64 is not fully supported
BOLT-INFO: disabling -align-macro-fusion on non-x86 platform
BOLT-INFO: spawning thread to pre-process profile
PERF2BOLT: waiting for perf mmap events collection to finish...
PERF2BOLT: parsing perf-script mmap events output
PERF2BOLT-ERROR: could not find a profile matching binary "vmlinux". Profile for the following binary name(s) is available:
  (deleted)
  android.frameworks.bufferhub@1.0.so
  android.hardware.cas.native@1.0.so
  android.hardware.cas@1.0.so
  android.hardware.configstore-utils.so
...skip...
Please rename the input binary.

How can I apply BOLT to vmlinux?

maksfb commented 4 years ago

Linux kernel is a very special snowflake kind of binary. I expect applying BOLT to the kernel to be beneficial and plan to support the kernel at some point. Even if the error above is fixed, I anticipate more issues with further processing of the kernel. It's good to have a tracking open issue.