Lines Matching +full:build +full:- +full:in
1 .. SPDX-License-Identifier: GPL-2.0
7 This enables Propeller build support for the kernel when using Clang
8 compiler. Propeller is a profile-guided optimization (PGO) method used
23 AutoFDO/AutoFDO+ThinLTO/iFDO. The whole build process involves
24 "build-afdo - train-afdo - build-propeller - train-propeller -
25 build-optimized".
30 #. In addition to LLVM toolchain, Propeller requires a profiling
36 #. Initial building: Build the AutoFDO or AutoFDO+ThinLTO binary as
37 you would normally do, but with a set of compile-time / link-time
53 #. Optimized build: Build the AutoFDO or AutoFDO+ThinLTO optimized
54 binary as you would normally do, but with a compile-time /
55 link-time flag to pick up the Propeller compile time and link time
56 profiles. This build step uses 3 profiles - the AutoFDO profile,
57 the Propeller compile-time profile and the Propeller link-time
61 in production environments, providing improved performance
76 for Propeller builds. One can, however, enable or disable Propeller build
80 - For enabling a single file (e.g. foo.o)::
84 - For enabling all files in one directory::
88 - For disabling one file::
92 - For disabling all files in one directory::
103 instructions in the AutoFDO document, build the kernel on the host
104 machine, with AutoFDO and Propeller build configs ::
111 $ make LLVM=1 CLANG_AUTOFDO_PROFILE=<autofdo-profile-name>
115 3) Run the load tests. The '-c' option in perf specifies the sample
119 - For Intel platforms::
121 $ perf record -e BR_INST_RETIRED.NEAR_TAKEN:k -a -N -b -c <count> -o <perf_file> -- <loadtest>
123 - For AMD platforms::
125 …$ perf record --pfm-event RETIRED_TAKEN_BRANCH_INSTRUCTIONS:k -a -N -b -c <count> -o <perf_file> -…
134 $ create_llvm_prof --binary=<vmlinux> --profile=<perf_file>
135 --format=propeller --propeller_output_module_name
136 --out=<propeller_profile_prefix>_cc_profile.txt
137 --propeller_symorder=<propeller_profile_prefix>_ld_profile.txt
145 If there are more than 1 perf_file collected in the previous step,
149 $ create_llvm_prof --binary=<vmlinux> --profile=@<perf_file_list>
150 --format=propeller --propeller_output_module_name
151 --out=<propeller_profile_prefix>_cc_profile.txt
152 --propeller_symorder=<propeller_profile_prefix>_ld_profile.txt