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
|
#!/bin/sh
|
||||||
|
|
||||||
MCEXEC="mcexec"
|
. ../common.sh
|
||||||
|
|
||||||
PERF_HW_ID_MAX=9
|
PERF_HW_ID_MAX=9
|
||||||
PERF_COUNT_HW_CACHE_MAX=6
|
PERF_COUNT_HW_CACHE_MAX=6
|
||||||
@ -10,56 +10,56 @@ PERF_COUNT_HW_CACHE_RESULT_MAX=1
|
|||||||
PERF_TYPE_HARDWARE=0
|
PERF_TYPE_HARDWARE=0
|
||||||
PERF_TYPE_HW_CACHE=3
|
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}`
|
for id in `seq 0 ${PERF_HW_ID_MAX}`
|
||||||
do
|
do
|
||||||
${MCEXEC} ./perf_test 0 1 ${PERF_TYPE_HARDWARE} ${id}
|
${MCK_DIR}/bin/mcexec ./perf_test 0 1 ${PERF_TYPE_HARDWARE} ${id}
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "【HW_CACHE no exclude】, "
|
echo "[HW_CACHE no exclude]"
|
||||||
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
|
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
|
||||||
do
|
do
|
||||||
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
|
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
|
||||||
do
|
do
|
||||||
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
|
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
|
||||||
do
|
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
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "【HARDWARE exclude user space】, "
|
echo "[HARDWARE exclude user space]"
|
||||||
for id in `seq 0 ${PERF_HW_ID_MAX}`
|
for id in `seq 0 ${PERF_HW_ID_MAX}`
|
||||||
do
|
do
|
||||||
${MCEXEC} ./perf_test 1 1 ${PERF_TYPE_HARDWARE} ${id}
|
${MCK_DIR}/bin/mcexec ./perf_test 1 1 ${PERF_TYPE_HARDWARE} ${id}
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "【HW_CACHE exclude user space】, "
|
echo "[HW_CACHE exclude user space]"
|
||||||
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
|
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
|
||||||
do
|
do
|
||||||
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
|
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
|
||||||
do
|
do
|
||||||
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
|
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
|
||||||
do
|
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
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "【HARDWARE exclude kernel space】, "
|
echo "[HARDWARE exclude kernel space]"
|
||||||
for id in `seq 0 ${PERF_HW_ID_MAX}`
|
for id in `seq 0 ${PERF_HW_ID_MAX}`
|
||||||
do
|
do
|
||||||
${MCEXEC} ./perf_test 2 1 ${PERF_TYPE_HARDWARE} ${id}
|
${MCK_DIR}/bin/mcexec ./perf_test 2 1 ${PERF_TYPE_HARDWARE} ${id}
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "【HW_CACHE exclude kernel space】, "
|
echo "[HW_CACHE exclude kernel space]"
|
||||||
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
|
for i in `seq 0 ${PERF_COUNT_HW_CACHE_MAX}`
|
||||||
do
|
do
|
||||||
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
|
for j in `seq 0 ${PERF_COUNT_HW_CACHE_OP_MAX}`
|
||||||
do
|
do
|
||||||
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
|
for k in `seq 0 ${PERF_COUNT_HW_CACHE_RESULT_MAX}`
|
||||||
do
|
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
|
done
|
||||||
done
|
done
|
||||||
|
|||||||
@ -68,10 +68,11 @@ main(int argc, char** argv)
|
|||||||
/* print result */
|
/* print result */
|
||||||
for (i = 0; i < cntr_num; i++) {
|
for (i = 0; i < cntr_num; i++) {
|
||||||
if (types[i] == PERF_TYPE_HARDWARE) {
|
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) {
|
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],
|
id_names[(configs[i] >> 0) & 0xff],
|
||||||
op_id_names[(configs[i] >> 8) & 0xff],
|
op_id_names[(configs[i] >> 8) & 0xff],
|
||||||
result_names[(configs[i] >> 16) & 0xff],
|
result_names[(configs[i] >> 16) & 0xff],
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#include <linux/perf_event.h>
|
#include <linux/perf_event.h>
|
||||||
#include <asm/unistd.h>
|
#include <asm/unistd.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
extern long perf_event_open(struct perf_event_attr *hw_event, pid_t pid,
|
extern long perf_event_open(struct perf_event_attr *hw_event, pid_t pid,
|
||||||
int cpu, int group_fd, unsigned long flags);
|
int cpu, int group_fd, unsigned long flags);
|
||||||
|
|||||||
Reference in New Issue
Block a user