test: perf_event_open: Fix test program
Change-Id: Ie5af8fb3ab7452078f2c35ec14c6369d86eedec3
This commit is contained in:
committed by
Dominique Martinet
parent
dfb3bef96d
commit
2cee82673b
@ -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
|
||||
|
||||
@ -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],
|
||||
|
||||
@ -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);
|
||||
|
||||
Reference in New Issue
Block a user