Documentation/dev-tools/pgo.rst
0 → 100644
+127
−0
+11
−0
+2
−0
+1
−0
Loading
Merge Pull Request from: @xiajingze Provides clang's Profile-Guided Optimization(PGO) for kernel. When the option is opened, a representative workload is run, the raw profile data can be collected from /sys/kernel/debug/pgo/vmlinux.profraw. The raw profile data must be processed by clang's "llvm-profdata" tool to be used during recompilation. Collect and process the raw profile data ``` $ cp -a /sys/kernel/debug/pgo/vmlinux.profraw /tmp/vmlinux.profraw $ llvm-profdata merge --output=vmlinux.profdata vmlinux.profraw ``` Rebuild the kernel using the processed profile data (PGO disabled) ``` $ make ... KCLAGS=-fprofile-use=vmlinux.profdata ``` kernel option(default is n): CONFIG_PGO_CLANG=y Link:https://gitee.com/openeuler/kernel/pulls/9294 Reviewed-by:Zhang Peng <zhangpeng362@huawei.com> Signed-off-by:
Zhang Peng <zhangpeng362@huawei.com>