Time to build the linux kernel and all the modules. The first three sections are the small workload building the kernel, the long three are building all the modules. The run queue seems to top out at 16 runnable processes very consistently with occasional spikes to 45 and almost 100% of the time is spent in compilation.

Topdown is similar to other compiler tasks with a large number of quick processes and a high amount of frontend stalls.

AMD metrics show ~20% of the code is branches, on cpu keeps all cores busy
elapsed 4384.994
on_cpu 0.948 # 15.17 / 16 cores
utime 57169.074
stime 9330.941
nvcsw 16234616 # 51.42%
nivcsw 15340066 # 48.58%
inblock 1508792 # 344.08/sec
onblock 71794720 # 16372.82/sec
cpu-clock 66453691923913 # 66453.692 seconds
task-clock 66455107133213 # 66455.107 seconds
page faults 2366940384 # 35617.133/sec
context switches 29689799 # 446.765/sec
cpu migrations 1286096 # 19.353/sec
major page faults 40348 # 0.607/sec
minor page faults 2366900036 # 35616.526/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 60287753558225 # 209.069 branches per 1000 inst
branch misses 1900198031594 # 3.15% branch miss
conditional 45363845907509 # 157.315 conditional branches per 1000 inst
indirect 1394625009817 # 4.836 indirect branches per 1000 inst
cpu-cycles 251756576312197 # 3.60 GHz
instructions 281890310273018 # 1.12 IPC
slots 521153828888532 #
retiring 94928942347433 # 18.2% (21.8%)
-- ucode 107890432544 # 0.0%
-- fastpath 94821051914889 # 18.2%
frontend 202492707510017 # 38.9% (46.4%)
-- latency 152779147446612 # 29.3%
-- bandwidth 49713560063405 # 9.5%
backend 121649005397933 # 23.3% (27.9%)
-- cpu 17504743131630 # 3.4%
-- memory 104144262266303 # 20.0%
speculation 17279631076873 # 3.3% ( 4.0%)
-- branch mispredict 17082830645741 # 3.3%
-- pipeline restart 196800431132 # 0.0%
smt-contention 84801816758218 # 16.3% ( 0.0%)
cpu-cycles 251756576312197 # 3.60 GHz
instructions 281890310273018 # 1.12 IPC
slots 521153828888532 #
retiring 94928942347433 # 18.2% (21.8%)
-- ucode 107890432544 # 0.0%
-- fastpath 94821051914889 # 18.2%
frontend 202492707510017 # 38.9% (46.4%)
-- latency 152779147446612 # 29.3%
-- bandwidth 49713560063405 # 9.5%
backend 121649005397933 # 23.3% (27.9%)
-- cpu 17504743131630 # 3.4%
-- memory 104144262266303 # 20.0%
speculation 17279631076873 # 3.3% ( 4.0%)
-- branch mispredict 17082830645741 # 3.3%
-- pipeline restart 196800431132 # 0.0%
smt-contention 84801816758218 # 16.3% ( 0.0%)
Intel metrics
elapsed 5364.641
on_cpu 0.940 # 15.04 / 16 cores
utime 73062.973
stime 7600.396
nvcsw 16447956 # 52.21%
nivcsw 15057053 # 47.79%
inblock 12795984 # 2385.25/sec
onblock 71783544 # 13380.87/sec
cpu-clock 80624919765176 # 80624.920 seconds
task-clock 80625961666563 # 80625.962 seconds
page faults 2364809417 # 29330.620/sec
context switches 29702086 # 368.394/sec
cpu migrations 1405666 # 17.434/sec
major page faults 36674 # 0.455/sec
minor page faults 2364772743 # 29330.165/sec
alignment faults 0 # 0.000/sec
emulation faults 0 # 0.000/sec
branches 59134611424110 # 206.302 branches per 1000 inst
branch misses 1373270026422 # 2.32% branch miss
conditional 59134676880558 # 206.302 conditional branches per 1000 inst
indirect 12260753772451 # 42.774 indirect branches per 1000 inst
slots 359500793544890 #
retiring 139217767267262 # 38.7% (38.7%)
-- ucode 10907139025969 # 3.0%
-- fastpath 128310628241293 # 35.7%
frontend 136579197555329 # 38.0% (38.0%)
-- latency 65433801874971 # 18.2%
-- bandwidth 71145395680358 # 19.8%
backend 29896581085111 # 8.3% ( 8.3%)
-- cpu 12871473352899 # 3.6%
-- memory 17025107732212 # 4.7%
speculation 54440246559477 # 15.1% (15.1%)
-- branch mispredict 52519725725341 # 14.6%
-- pipeline restart 1920520834136 # 0.5%
smt-contention 0 # 0.0% ( 0.0%)
cpu-cycles 146212049839027 # 1.72 GHz
instructions 188401538776691 # 1.29 IPC
l2 access 6914129112934 # 47.173 l2 access per 1000 inst
l2 miss 1426172948897 # 20.63% l2 miss
Process summary shows most of the time is spent in the compiler front end (not a complate count since it crashed in second build but still a lot of processes…)
1687569 processes
96078 cc1 41429.35 4508.53
10782 genksyms 1708.71 109.67
18256 make 222.14 72.39
82007 as 82.24 4.88
30098 objtool 61.47 21.11
5 xz 52.47 1.15
8 gzip 25.86 0.32
24802 ld 23.54 14.13
5 modpost 17.03 2.31
34 clinfo 10.25 2.99
3 openssl 5.96 0.02
10 kallsyms 5.55 0.20
84426 fixdep 3.15 23.83
84 find 2.89 0.66
117164 nm 2.17 0.37
3885 ar 0.97 3.10
20 m4 0.79 0.00
148 objcopy 0.77 1.25
19 vulkaninfo 0.76 0.57
96533 gcc 0.57 0.00
14121 sed 0.57 0.00
5 tar 0.44 6.66
4 conf 0.41 0.32
16 relocs 0.35 0.46
1854 xargs 0.29 4.03
12 sorttable 0.26 0.02
55191 grep 0.23 0.14
699860 sh 0.19 1.99
21982 perl 0.15 0.01
5 build 0.14 0.08
3 glxinfo:gdrv0 0.10 0.03
3 cpio 0.08 1.85
2 vulkani:disk$0 0.08 0.06
6 clang 0.07 0.05
92612 rm 0.05 8.84
1 llvmpipe-0 0.04 0.03
1 llvmpipe-1 0.04 0.03
1 llvmpipe-10 0.04 0.03
1 llvmpipe-11 0.04 0.03
1 llvmpipe-12 0.04 0.03
1 llvmpipe-13 0.04 0.03
1 llvmpipe-14 0.04 0.03
1 llvmpipe-15 0.04 0.03
1 llvmpipe-2 0.04 0.03
1 llvmpipe-3 0.04 0.03
1 llvmpipe-4 0.04 0.03
1 llvmpipe-5 0.04 0.03
1 llvmpipe-6 0.04 0.03
1 llvmpipe-7 0.04 0.03
1 llvmpipe-8 0.04 0.03
1 llvmpipe-9 0.04 0.03
1 glxinfo 0.04 0.02
1 glxinfo:cs0 0.04 0.02
1 glxinfo:disk$0 0.04 0.02
1 glxinfo:sh0 0.04 0.01
1 glxinfo:shlo0 0.04 0.01
19 ls 0.01 0.12
6923 cat 0.00 0.30
125407 check-local-exp 0.00 0.00
84807 awk 0.00 0.00
7543 mkdir 0.00 0.00
2934 touch 0.00 0.00
2865 unifdef 0.00 0.00
2194 wc 0.00 0.00
2069 tr 0.00 0.00
413 pahole-flags.sh 0.00 0.00
223 collect2 0.00 0.00
169 mv 0.00 0.00
124 dtc 0.00 0.00
95 objdump 0.00 0.00
80 strip 0.00 0.00
72 diff 0.00 0.00
66 pkg-config 0.00 0.00
63 asn1_compiler 0.00 0.00
58 head 0.00 0.00
58 uname 0.00 0.00
54 getconf 0.00 0.00
40 cmp 0.00 0.00
30 flex 0.00 0.00
30 mkregtable 0.00 0.00
30 sort 0.00 0.00
28 basename 0.00 0.00
23 dirname 0.00 0.00
20 cut 0.00 0.00
18 mkcompile_h 0.00 0.00
17 sha1sum 0.00 0.00
16 cc-can-link.sh 0.00 0.00
16 cc-version.sh 0.00 0.00
16 uniq 0.00 0.00
15 bash 0.00 0.00
15 bin2c 0.00 0.00
15 expr 0.00 0.00
15 extract-cert 0.00 0.00
15 vdso2c 0.00 0.00
13 bison 0.00 0.00
12 as-version.sh 0.00 0.00
12 gsettings 0.00 0.00
12 ld-version.sh 0.00 0.00
12 min-tool-versio 0.00 0.00
12 tail 0.00 0.00
11 mktemp 0.00 0.00
10 git 0.00 0.00
9 md5sum 0.00 0.00
9 pnmtologo 0.00 0.00
8 gcc-x86_32-has- 0.00 0.00
8 gcc-x86_64-has- 0.00 0.00
8 pahole-version. 0.00 0.00
8 systemd-detect- 0.00 0.00
8 which 0.00 0.00
7 stat 0.00 0.00
6 bc 0.00 0.00
6 conmakehash 0.00 0.00
6 date 0.00 0.00
6 gen_crc32table 0.00 0.00
6 gen_init_cpio 0.00 0.00
6 genheaders 0.00 0.00
6 llvm-link 0.00 0.00
6 remove-stale-fi 0.00 0.00
6 whoami 0.00 0.00
5 build-linux-ker 0.00 0.00
5 build-version 0.00 0.00
5 link-vmlinux.sh 0.00 0.00
5 ln 0.00 0.00
5 mk_elfconfig 0.00 0.00
5 mkcpustr 0.00 0.00
5 mkpiggy 0.00 0.00
4 fdtoverlay 0.00 0.00
4 phoronix-test-s 0.00 0.00
4 readlink 0.00 0.00
4 rust_is_availab 0.00 0.00
4 tools-support-r 0.00 0.00
3 gen_crc64table 0.00 0.00
3 mktables 0.00 0.00
2 genmap 0.00 0.00
2 gmain 0.00 0.00
2 makemapdata 0.00 0.00
1 cc 0.00 0.00
1 dconf worker 0.00 0.00
1 ifconfig 0.00 0.00
1 ip 0.00 0.00
1 lscpu 0.00 0.00
1 ps 0.00 0.00
1 qdbus 0.00 0.00
1 realpath 0.00 0.00
1 stty 0.00 0.00
1 systemctl 0.00 0.00
1 template.sh 0.00 0.00
1 xrandr 0.00 0.00
1 xset 0.00 0.00
