Skip to content

Instantly share code, notes, and snippets.

@gadmm
Created February 18, 2021 04:32
Show Gist options
  • Save gadmm/5782cc5d0010ee734ff5c5f9fbc4e484 to your computer and use it in GitHub Desktop.
Save gadmm/5782cc5d0010ee734ff5c5f9fbc4e484 to your computer and use it in GitHub Desktop.
Effect of huge pages on markbench.ml
$ ./a.out
setup done
2.705 s/gc
$ sudo hugeadm --pool-pages-min 2M:2000M
$ OCAMLRUNPARAM=H ./a.out
setup done
2.266 s/gc
$ cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never
$ perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses ./a.out
setup done
2.707 s/gc
Performance counter stats for './a.out':
10 424 942 964 dTLB-loads
182 413 448 dTLB-load-misses # 1,75% of all dTLB cache hits
392 809 iTLB-loads
431 128 iTLB-load-misses # 109,76% of all iTLB cache hits
16,935866381 seconds time elapsed
16,650620000 seconds user
0,283976000 seconds sys
$ OCAMLRUNPARAM=H perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses ./a.out
setup done
2.285 s/gc
Performance counter stats for './a.out':
10 139 916 431 dTLB-loads
820 033 dTLB-load-misses # 0,01% of all dTLB cache hits
18 145 iTLB-loads
23 501 iTLB-load-misses # 129,52% of all iTLB cache hits
14,283501553 seconds time elapsed
14,223073000 seconds user
0,055996000 seconds sys
$ sudo sh -c 'echo always > /sys/kernel/mm/transparent_hugepage/enabled'
[sudo] Mot de passe de gm : hunter2
$ perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses ./a.out
setup done
2.461 s/gc
Performance counter stats for './a.out':
10 251 055 070 dTLB-loads
65 321 060 dTLB-load-misses # 0,64% of all dTLB cache hits
52 002 iTLB-loads
78 746 iTLB-load-misses # 151,43% of all iTLB cache hits
15,400264516 seconds time elapsed
15,293097000 seconds user
0,103980000 seconds sys
$ sudo sh -c 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled'
$ MALLOC_CONF="thp:always" LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses ./a.out
setup done
2.320 s/gc
Performance counter stats for './a.out':
10 223 094 920 dTLB-loads
178 582 dTLB-load-misses # 0,00% of all dTLB cache hits
31 638 iTLB-loads
10 928 iTLB-load-misses # 34,54% of all iTLB cache hits
14,562831544 seconds time elapsed
14,468974000 seconds user
0,087981000 seconds sys
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment