Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

latency_project_files #560

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions fileloop.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash

echo "Thold ReadsOver" >> PEBS.txt
for ((i = 1; i <= 250; i++))
do
for ((n = 1; n <= 1; n++))
do
export PEBS_LD_LAT_THRESHOLD=0x3F6
export CPU=18
export CPU_MASK=0x40000
wrmsr -p ${CPU} ${PEBS_LD_LAT_THRESHOLD} 0
wrmsr -p ${CPU} ${PEBS_LD_LAT_THRESHOLD} $i
./laten2_proj.sh
done
done
93 changes: 93 additions & 0 deletions laten_proj.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#!/bin/bash

# (Architectural Version 1)
export PMC0=0x0C1
export PMC1=0x0C2
export PMC2=0x0C3
export PMC3=0x0C4
export PERFEVTSEL0=0x186
export PERFEVTSEL1=0x187
export PERFEVTSEL2=0x188
export PERFEVTSEL3=0x189

# (Architectural Version 2)
export PERF_GLOBAL_CTRL=0x38F
export PERF_GLOBAL_STATUS=0x38E
export PERF_GLOBAL_OVF_CTRL=0x390
export DEBUGCTL=0x1D9
export FIXED_CTR_CTRL=0x38D

# (Sandy Bridge Specific)
export PEBS_ENABLE=0x3F1
#export PEBS_LD_LAT_THRESHOLD=0x3F6
export MISC_ENABLE=0x1A0
export PERF_CAPABILITIES=0x345

#Extra counters
#Instructions Retired/Any
export FIXED_CTR0=0x309
#CPU Clock / unhalted core
export FIXED_CTR1=0x30A
#CPU Clock / unhalted ref
export FIXED_CTR2=0x30B
export D5_AREA=0x600

#Using isolated cpu18
#export CPU=18
#export CPU_MASK=0x40000

#echo "Turning everyting off..."

wrmsr -p ${CPU} ${PERF_GLOBAL_CTRL} 0
wrmsr -p ${CPU} ${PERF_GLOBAL_OVF_CTRL} 0

wrmsr -p ${CPU} ${PERFEVTSEL0} 0
wrmsr -p ${CPU} ${PERFEVTSEL1} 0
wrmsr -p ${CPU} ${PERFEVTSEL2} 0
wrmsr -p ${CPU} ${PERFEVTSEL3} 0

wrmsr -p ${CPU} ${FIXED_CTR_CTRL} 0
wrmsr -p ${CPU} ${FIXED_CTR0} 0
wrmsr -p ${CPU} ${FIXED_CTR1} 0
wrmsr -p ${CPU} ${FIXED_CTR2} 0

wrmsr -p ${CPU} ${PEBS_ENABLE} 0
#wrmsr -p ${CPU} ${PEBS_LD_LAT_THRESHOLD} 0

#echo "Sleeping for 5 seconds..."
#sleep 5


#echo "Enabling fixed function counters and running stomp (~20 seconds)."
wrmsr -p ${CPU} ${FIXED_CTR_CTRL} 0x222
wrmsr -p ${CPU} ${PERF_GLOBAL_CTRL} 0x700000000
wrmsr -p ${CPU} ${PERF_GLOBAL_CTRL} 0
wrmsr -p ${CPU} ${FIXED_CTR_CTRL} 0
#echo "Instructions Retired (any): " `rdmsr -p ${CPU} ${FIXED_CTR0}`
#echo "Unhalted core clocks: " `rdmsr -p ${CPU} ${FIXED_CTR1}`
#echo "Unhalted reference clocks: " `rdmsr -p ${CPU} ${FIXED_CTR2}`

wrmsr -p ${CPU} ${FIXED_CTR0} 0
wrmsr -p ${CPU} ${FIXED_CTR1} 0
wrmsr -p ${CPU} ${FIXED_CTR2} 0

#echo "Enabling PEBS Load Latency and Fixed Function Counters on PMC0."
#wrmsr -p ${CPU} ${PEBS_LD_LAT_THRESHOLD} 385
wrmsr -p ${CPU} ${PERFEVTSEL0} 0x4101CD
wrmsr -p ${CPU} ${PEBS_ENABLE} 0x100000001
wrmsr -p ${CPU} ${PERF_GLOBAL_CTRL} 0x1i
#echo "Running Toy Program (~20 seconds)."
taskset ${CPU_MASK} ./a.out
wrmsr -p ${CPU} ${PERF_GLOBAL_CTRL} 0
#echo "Threshold " `rdmsr -p ${CPU} ${PEBS_LD_LAT_THRESHOLD}`

#echo "Tagged reads over threshold " `rdmsr -p ${CPU} ${PMC0}`
echo `rdmsr -p ${CPU} ${PEBS_LD_LAT_THRESHOLD}` `rdmsr -d -p ${CPU} ${PMC0}` >> PEBS.txt
wrmsr -p ${CPU} ${PEBS_ENABLE} 0
wrmsr -p ${CPU} ${PEBS_LD_LAT_THRESHOLD} 0
wrmsr -p ${CPU} ${PERFEVTSEL0} 0
wrmsr -p ${CPU} ${PMC0} 0




Loading