at v4.16-rc7 78 lines 1.4 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _PERF_SYS_H 3#define _PERF_SYS_H 4 5#include <unistd.h> 6#include <sys/types.h> 7#include <sys/syscall.h> 8#include <linux/types.h> 9#include <linux/compiler.h> 10#include <linux/perf_event.h> 11#include <asm/barrier.h> 12 13#ifdef __powerpc__ 14#define CPUINFO_PROC {"cpu"} 15#endif 16 17#ifdef __s390__ 18#define CPUINFO_PROC {"vendor_id"} 19#endif 20 21#ifdef __sh__ 22#define CPUINFO_PROC {"cpu type"} 23#endif 24 25#ifdef __hppa__ 26#define CPUINFO_PROC {"cpu"} 27#endif 28 29#ifdef __sparc__ 30#define CPUINFO_PROC {"cpu"} 31#endif 32 33#ifdef __alpha__ 34#define CPUINFO_PROC {"cpu model"} 35#endif 36 37#ifdef __arm__ 38#define CPUINFO_PROC {"model name", "Processor"} 39#endif 40 41#ifdef __mips__ 42#define CPUINFO_PROC {"cpu model"} 43#endif 44 45#ifdef __arc__ 46#define CPUINFO_PROC {"Processor"} 47#endif 48 49#ifdef __metag__ 50#define CPUINFO_PROC {"CPU"} 51#endif 52 53#ifdef __xtensa__ 54#define CPUINFO_PROC {"core ID"} 55#endif 56 57#ifndef CPUINFO_PROC 58#define CPUINFO_PROC { "model name", } 59#endif 60 61static inline int 62sys_perf_event_open(struct perf_event_attr *attr, 63 pid_t pid, int cpu, int group_fd, 64 unsigned long flags) 65{ 66 int fd; 67 68 fd = syscall(__NR_perf_event_open, attr, pid, cpu, 69 group_fd, flags); 70 71#ifdef HAVE_ATTR_TEST 72 if (unlikely(test_attr__enabled)) 73 test_attr__open(attr, pid, cpu, fd, group_fd, flags); 74#endif 75 return fd; 76} 77 78#endif /* _PERF_SYS_H */