at v5.3-rc1 74 lines 1.3 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 __xtensa__ 50#define CPUINFO_PROC {"core ID"} 51#endif 52 53#ifndef CPUINFO_PROC 54#define CPUINFO_PROC { "model name", } 55#endif 56 57static inline int 58sys_perf_event_open(struct perf_event_attr *attr, 59 pid_t pid, int cpu, int group_fd, 60 unsigned long flags) 61{ 62 int fd; 63 64 fd = syscall(__NR_perf_event_open, attr, pid, cpu, 65 group_fd, flags); 66 67#ifdef HAVE_ATTR_TEST 68 if (unlikely(test_attr__enabled)) 69 test_attr__open(attr, pid, cpu, fd, group_fd, flags); 70#endif 71 return fd; 72} 73 74#endif /* _PERF_SYS_H */