Linux Audio

Check our new training course

Loading...
v5.4
 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/compiler.h>
 9
10struct perf_event_attr;
11
12extern bool test_attr__enabled;
13void test_attr__ready(void);
14void test_attr__init(void);
15void test_attr__open(struct perf_event_attr *attr, pid_t pid, int cpu,
16		     int fd, int group_fd, unsigned long flags);
17
18#ifndef HAVE_ATTR_TEST
19#define HAVE_ATTR_TEST 1
20#endif
21
22static inline int
23sys_perf_event_open(struct perf_event_attr *attr,
24		      pid_t pid, int cpu, int group_fd,
25		      unsigned long flags)
26{
27	int fd;
28
29	fd = syscall(__NR_perf_event_open, attr, pid, cpu,
30		     group_fd, flags);
31
32#if HAVE_ATTR_TEST
33	if (unlikely(test_attr__enabled))
34		test_attr__open(attr, pid, cpu, fd, group_fd, flags);
35#endif
36	return fd;
37}
38
39#endif /* _PERF_SYS_H */
v6.2
 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/compiler.h>
 9
10struct perf_event_attr;
11
 
 
 
 
 
 
 
 
 
 
12static inline int
13sys_perf_event_open(struct perf_event_attr *attr,
14		      pid_t pid, int cpu, int group_fd,
15		      unsigned long flags)
16{
17	return syscall(__NR_perf_event_open, attr, pid, cpu,
18		       group_fd, flags);
 
 
 
 
 
 
 
 
19}
20
21#endif /* _PERF_SYS_H */