Pass a "-j" argument to pahole if possible to reduce the time of generating BTF info. Since v1.22, pahole can parse DWARF and generate BTF with multithreading to speed up the conversion. It will reduce the overall build time of the kernel for seconds. v3 fixes whitespaces and improves the commit description. v2 checks the version of pahole to enable multithreading only if possible. [v2] https://lore.kernel.org/bpf/20220216193431.2691015-1-kuifeng@fb.com/ [v1] https://lore.kernel.org/bpf/20220216004616.2079689-1-kuifeng@fb.com/ Signed-off-by: Kui-Feng Lee <kuifeng@fb.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Yonghong Song <yhs@fb.com> Link: https://lore.kernel.org/bpf/20220217175427.649713-1-kuifeng@fb.com
		
			
				
	
	
		
			24 lines
		
	
	
		
			585 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			585 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| # SPDX-License-Identifier: GPL-2.0
 | |
| 
 | |
| extra_paholeopt=
 | |
| 
 | |
| if ! [ -x "$(command -v ${PAHOLE})" ]; then
 | |
| 	exit 0
 | |
| fi
 | |
| 
 | |
| pahole_ver=$($(dirname $0)/pahole-version.sh ${PAHOLE})
 | |
| 
 | |
| if [ "${pahole_ver}" -ge "118" ] && [ "${pahole_ver}" -le "121" ]; then
 | |
| 	# pahole 1.18 through 1.21 can't handle zero-sized per-CPU vars
 | |
| 	extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_vars"
 | |
| fi
 | |
| if [ "${pahole_ver}" -ge "121" ]; then
 | |
| 	extra_paholeopt="${extra_paholeopt} --btf_gen_floats"
 | |
| fi
 | |
| if [ "${pahole_ver}" -ge "122" ]; then
 | |
| 	extra_paholeopt="${extra_paholeopt} -j"
 | |
| fi
 | |
| 
 | |
| echo ${extra_paholeopt}
 |