test: perf_event_open: Fix test program

Change-Id: Ie5af8fb3ab7452078f2c35ec14c6369d86eedec3
This commit is contained in:
Masamichi Takagi
2019-03-29 05:34:44 +00:00
committed by Dominique Martinet
parent dfb3bef96d
commit 2cee82673b
3 changed files with 17 additions and 15 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh
MCEXEC="mcexec"
. ../common.sh
PERF_HW_ID_MAX=9
PERF_COUNT_HW_CACHE_MAX=6
@ -10,56 +10,56 @@ PERF_COUNT_HW_CACHE_RESULT_MAX=1
PERF_TYPE_HARDWARE=0
PERF_TYPE_HW_CACHE=3
echo "PERF_TYPE_HARDWARE all spase】, "
echo "[PERF_TYPE_HARDWARE all space]"
for id in `seq 0 ${PERF_HW_ID_MAX}`
do
${MCEXEC} ./perf_test 0 1 ${PERF_TYPE_HARDWARE} ${id}
${MCK_DIR}/bin/mcexec ./perf_test 0 1 ${PERF_TYPE_HARDWARE} ${id}
done
echo "HW_CACHE no exclude】, "
echo "[HW_CACHE no exclude]"
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
do
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
do
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
do
${MCEXEC} ./perf_test 0 1 ${PERF_TYPE_HW_CACHE} `expr ${k} \* 65536 + ${j} \* 256 + ${i}`
${MCK_DIR}/bin/mcexec ./perf_test 0 1 ${PERF_TYPE_HW_CACHE} `expr ${k} \* 65536 + ${j} \* 256 + ${i}`
done
done
done
echo "HARDWARE exclude user space】, "
echo "[HARDWARE exclude user space]"
for id in `seq 0 ${PERF_HW_ID_MAX}`
do
${MCEXEC} ./perf_test 1 1 ${PERF_TYPE_HARDWARE} ${id}
${MCK_DIR}/bin/mcexec ./perf_test 1 1 ${PERF_TYPE_HARDWARE} ${id}
done
echo "HW_CACHE exclude user space】, "
echo "[HW_CACHE exclude user space]"
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
do
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
do
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
do
${MCEXEC} ./perf_test 1 1 ${PERF_TYPE_HW_CACHE} `expr ${k} \* 65536 + ${j} \* 256 + ${i}`
${MCK_DIR}/bin/mcexec ./perf_test 1 1 ${PERF_TYPE_HW_CACHE} `expr ${k} \* 65536 + ${j} \* 256 + ${i}`
done
done
done
echo "HARDWARE exclude kernel space】, "
echo "[HARDWARE exclude kernel space]"
for id in `seq 0 ${PERF_HW_ID_MAX}`
do
${MCEXEC} ./perf_test 2 1 ${PERF_TYPE_HARDWARE} ${id}
${MCK_DIR}/bin/mcexec ./perf_test 2 1 ${PERF_TYPE_HARDWARE} ${id}
done
echo "HW_CACHE exclude kernel space】, "
echo "[HW_CACHE exclude kernel space]"
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
do
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
do
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
do
${MCEXEC} ./perf_test 2 1 ${PERF_TYPE_HW_CACHE} `expr ${k} \* 65536 + ${j} \* 256 + ${i}`
${MCK_DIR}/bin/mcexec ./perf_test 2 1 ${PERF_TYPE_HW_CACHE} `expr ${k} \* 65536 + ${j} \* 256 + ${i}`
done
done
done

View File

@ -68,10 +68,11 @@ main(int argc, char** argv)
/* print result */
for (i = 0; i < cntr_num; i++) {
if (types[i] == PERF_TYPE_HARDWARE) {
printf("%s,%ld\n", hw_event_names[configs[i]], counts[i]);
printf("%s: %ld\n",
hw_event_names[configs[i]], counts[i]);
}
else if (types[i] == PERF_TYPE_HW_CACHE) {
printf("%s_%s_%s,%ld\n",
printf("%s_%s_%s: %ld\n",
id_names[(configs[i] >> 0) & 0xff],
op_id_names[(configs[i] >> 8) & 0xff],
result_names[(configs[i] >> 16) & 0xff],

View File

@ -4,6 +4,7 @@
#include <sys/ioctl.h>
#include <linux/perf_event.h>
#include <asm/unistd.h>
#include <unistd.h>
extern long perf_event_open(struct perf_event_attr *hw_event, pid_t pid,
int cpu, int group_fd, unsigned long flags);