add perf_test.sh

Signed-off-by: Wenchao Hao <haowenchao22@gmail.com>
This commit is contained in:
Wenchao Hao 2024-11-25 10:32:44 +08:00
parent 1f6d500902
commit 0524cf87ed
2 changed files with 19 additions and 2 deletions

17
perf_test.sh Normal file
View File

@ -0,0 +1,17 @@
for dir in /sys/kernel/mm/transparent_hugepage/hugepages-*; do
echo $dir $(cat $dir/enabled) > test.csv
done
for i in $(seq 1 20000); do
echo $i
perf stat -e page-faults,dTLB-load-misses,iTLB-load-misses /source/memory_test/test_swap > result 2>&1
killall test_swap
pagefaults=$(cat result | grep page-faults | awk '{print $1}' | sed 's/,//')
dtlbmiss=$(cat result | grep dTLB-load-misses | awk '{print $1}' | sed 's/,//')
itlbmiss=$(cat result | grep iTLB-load-misses | awk '{print $1}' | sed 's/,//')
swpoutbad=$(cat result | grep "swp out" | awk '{print $4}' | sed 's/,//')
swpinbad=$(cat result | grep "swp in" | awk '{print $4}' | sed 's/,//')
echo $pagefaults,$dtlbmiss,$itlbmiss,$swpoutbad,$swpinbad >> test.csv
done

View File

@ -46,8 +46,8 @@ int main()
/* read to trigger swapin and */
gettimeofday(&tv_b, NULL);
for (i = 0; i < SIZE; i += PAGE_SIZE)
*(c + i) = i;
for (i = 0; i < SIZE / 8; i += 8)
*(p + i) = 0xffff + i;
gettimeofday(&tv_e, NULL);
printf("swp in bandwidth: %lld bytes/ms\n", SIZE/(tv_to_ms(tv_e) - tv_to_ms(tv_b)));