flame_graph - Add initial code to support flame graphs
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 27 Feb 2020 19:47:15 +0000 (11:47 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 27 Feb 2020 19:47:15 +0000 (11:47 -0800)
commit91dc43dd1215cf13344c65a8f9478bfd31b95814
tree7638b7e25a14284bcabffbddbd35a4df6ed57df4
parent872a09d51adf63b4bdae6adb1d96a53f76e161e2
flame_graph - Add initial code to support flame graphs

* Add better PC sampling code to the kernel, capable of generating
  call stack traces.

* Implement an initial flame_graph utility.

  flame_graph > /tmp/x.out &
  (let it run a while)

  flame_graph -p < /tmp/x.out

Requested-by: mjg
17 files changed:
sys/cpu/x86_64/include/cpufunc.h
sys/dev/crypto/rdrand/rdrand.c
sys/kern/kern_clock.c
sys/kern/kern_systimer.c
sys/platform/pc64/apic/apic_vector.s
sys/platform/pc64/conf/files
sys/platform/pc64/x86_64/mp_flame.c [new file with mode: 0644]
sys/platform/pc64/x86_64/mp_machdep.c
sys/sys/flame_graph.h [new file with mode: 0644]
sys/sys/systimer.h
usr.bin/Makefile
usr.bin/flame_graph/Makefile [new file with mode: 0644]
usr.bin/flame_graph/collect.c [new file with mode: 0644]
usr.bin/flame_graph/flame.h [new file with mode: 0644]
usr.bin/flame_graph/main.c [new file with mode: 0644]
usr.bin/flame_graph/process.c [new file with mode: 0644]
usr.bin/systat/symbols.c