Flamegraphing kernel stacks
This commit is contained in:
parent
1fbbd8dea7
commit
06e2aad88d
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,6 +1,7 @@
|
||||
.vagrant
|
||||
Vagrantfile
|
||||
*.json
|
||||
*.svg
|
||||
opack_installer_latest
|
||||
results
|
||||
ssh-config
|
||||
|
22
Makefile
22
Makefile
@ -25,10 +25,10 @@ SPEC2006_SRC= ../spec2006-openbsd
|
||||
$(INSTALL_ISO):
|
||||
make -C ../skzbsd-build/ all
|
||||
|
||||
ssh-config: opack
|
||||
ssh-config: | opack
|
||||
(echo Host $(OPACK_TARGET) && (vagrant ssh-config | sed '1d')) > $@
|
||||
|
||||
all: $(INSTALL_ISO) ssh-config
|
||||
results/rate.kprofile results/speed.kprofile: $(INSTALL_ISO) ssh-config
|
||||
scp -F ssh-config -q -r src root@$(OPACK_TARGET):/root/run
|
||||
scp -F ssh-config -q -r $(SPEC2006_SRC) root@$(OPACK_TARGET):/var/spec2006
|
||||
vagrant ssh -c "make -C run bootstrap"
|
||||
@ -37,6 +37,24 @@ all: $(INSTALL_ISO) ssh-config
|
||||
mkdir -p results
|
||||
scp -F ssh-config -q -r $(OPACK_TARGET):/var/spec2006/result/* results
|
||||
|
||||
rate.svg: | results/rate.kprofile
|
||||
stackcollapse-bpftrace.pl $^ | flamegraph.pl \
|
||||
--title "SPECINT2006 RATE - Kernel stacks - $(OPACK_SYS_CPU) threads" \
|
||||
--subtitle "$(shell vagrant ssh -c "sysctl -n kern.version" | head -n1)" \
|
||||
--fonttype "IBM Plex Mono" \
|
||||
--hash \
|
||||
--inverted > $@
|
||||
|
||||
speed.svg: | results/speed.kprofile
|
||||
stackcollapse-bpftrace.pl $^ | flamegraph.pl \
|
||||
--title "SPECINT2006 SPEED - Kernel stacks - Single thread" \
|
||||
--subtitle "$(shell vagrant ssh -c "sysctl -n kern.version" | head -n1)" \
|
||||
--fonttype "IBM Plex Mono" \
|
||||
--hash \
|
||||
--inverted > $@
|
||||
|
||||
all: rate.svg speed.svg
|
||||
|
||||
clean:
|
||||
rm -rf results ssh-config
|
||||
$(MAKE) opack-clean
|
||||
|
24
src/Makefile
24
src/Makefile
@ -1,6 +1,6 @@
|
||||
# SPEC2006 options
|
||||
SIZE?="ref"
|
||||
ITERATIONS?="1"
|
||||
SIZE?=ref
|
||||
ITERATIONS?=1
|
||||
|
||||
OCTOPUS_URL=https://git.sk4.nz/sk4nz/octopus.git
|
||||
SPEC2006_URL=https://git.sk4.nz/sk4nz/spec2006-openbsd.git
|
||||
@ -29,36 +29,40 @@ RUNOPTS=-I --noreportable --verbose 5\
|
||||
.PHONY: bootstrap
|
||||
|
||||
bootstrap:
|
||||
@echo $$(date) - Bootstrapping SPEC
|
||||
@echo ▒ $$(date "+%H:%M:%S") Bootstrapping SPEC
|
||||
@mkdir -p /spec
|
||||
@ln -s /var/spec2006 /spec/cpu2006
|
||||
@cd /var/spec2006/tools/src && CFLAGS='-fPIC' CONFIGFLAGS='--build=x86_64-unknown-openbsd' sh ./buildtools > build.log 2>&1
|
||||
@cd /var/spec2006 && . ./shrc && ./bin/scripts.misc/genmanifest.sh > manifest.out.log 2>&1 && ./bin/packagetools OpenBSD > package.OpenBSD.out 2>&1
|
||||
@echo 'cd /var/spec2006 && . ./shrc && cd /root' >> /root/.profile
|
||||
@cd /var/spec2006 && . ./shrc && runspec --action=build -c int_speed_openbsd -T all -I -i $(SIZE) int > buildtests.log
|
||||
@cd /var/spec2006 && . ./shrc && runspec --action=build -c int_rate_openbsd -T all -I -i $(SIZE) int >> buildtests.log
|
||||
@-pkg_add -I lscpu > /dev/null 2>&1 || pkg_add -I -D snap lscpu > /dev/null 2>&1
|
||||
@echo sysctl kern.securelevel=-1 > /etc/rc.securelevel
|
||||
@echo kern.allowdt=1 >> /etc/sysctl.conf
|
||||
@echo kern.allowkmem=1 >> /etc/sysctl.conf
|
||||
@-sync
|
||||
@echo $$(date) - SPEC bootstrapping complete
|
||||
@echo ▒ $$(date "+%H:%M:%S") SPEC bootstrapping complete | tee $@
|
||||
|
||||
rate:
|
||||
@echo $$(date) - Run SPECINT2006 Rate. $(SIZE) size - $(ITERATIONS) iterations - $$(sysctl -n hw.ncpufound) workloads
|
||||
@echo ▒ $$(date "+%H:%M:%S") Run SPECINT2006 Rate. $(SIZE) size - $(ITERATIONS) iterations - $$(sysctl -n hw.ncpufound) workloads
|
||||
@btrace /usr/share/btrace/kprofile.bt > /var/spec2006/result/rate.kprofile & cd /var/spec2006 && . ./shrc && \
|
||||
runspec -c int_rate_openbsd \
|
||||
-n $(ITERATIONS) \
|
||||
--rate=$$(sysctl -n hw.ncpufound) \
|
||||
$(RUNOPTS) \
|
||||
--size=$(SIZE) \
|
||||
int > /var/spec2006/result/rate.log; kill -2 $$(ps aux | grep btrace | grep -v grep | awk '{print $$2}')
|
||||
int > /var/spec2006/result/rate.log; kill -2 $$(pgrep btrace) || true
|
||||
|
||||
speed:
|
||||
@echo $$(date) - Run SPECINT2006 Speed. $(SIZE) size - $(ITERATIONS) iterations
|
||||
@btrace /usr/share/btrace/kprofile.bt > /var/spec2006/result/speed.kprofile && cd /var/spec2006 && . ./shrc && \
|
||||
@echo ▒ $$(date "+%H:%M:%S") Run SPECINT2006 Speed. $(SIZE) size - $(ITERATIONS) iterations
|
||||
@btrace /usr/share/btrace/kprofile.bt > /var/spec2006/result/speed.kprofile & cd /var/spec2006 && . ./shrc && \
|
||||
runspec -c int_speed_openbsd \
|
||||
-n $(ITERATIONS) \
|
||||
$(RUNOPTS) \
|
||||
--size=$(SIZE) \
|
||||
int > /var/spec2006/result/speed.log; kill -2 $$(ps aux | grep btrace | grep -v grep | awk '{print $$2}')
|
||||
int > /var/spec2006/result/speed.log; kill -2 $$(pgrep btrace) || true
|
||||
@btrace /usr/share/btrace/kprofile.bt > /tmp/dummy & sleep 2 && kill -2 $$(pgrep btrace) || true
|
||||
|
||||
all: rate
|
||||
all: rate speed
|
||||
@echo ▒ $$(date "+%H:%M:%S") SPECINT2006 complete
|
||||
|
Loading…
Reference in New Issue
Block a user