Cleanup: move to kernel style SPDX license identifiers
[lttng-modules.git] / wrapper / perf.h
CommitLineData
9f36eaed
MJ
1/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
2 *
886d51a3 3 * wrapper/perf.h
90f5546c 4 *
886d51a3 5 * Copyright (C) 2010-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
90f5546c
MD
6 */
7
9f36eaed
MJ
8#ifndef _LTTNG_WRAPPER_PERF_H
9#define _LTTNG_WRAPPER_PERF_H
10
90f5546c
MD
11#include <linux/perf_event.h>
12
bed5dbd4
DE
13#ifdef CONFIG_PERF_EVENTS
14
15#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
90f5546c
MD
16static inline struct perf_event *
17wrapper_perf_event_create_kernel_counter(struct perf_event_attr *attr,
18 int cpu,
19 struct task_struct *task,
20 perf_overflow_handler_t callback)
21{
22 return perf_event_create_kernel_counter(attr, cpu, task, callback, NULL);
23}
bed5dbd4 24#else /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) */
3a523f5b 25
745dd71e 26#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
90f5546c
MD
27static inline struct perf_event *
28wrapper_perf_event_create_kernel_counter(struct perf_event_attr *attr,
29 int cpu,
30 struct task_struct *task,
31 perf_overflow_handler_t callback)
32{
33 return perf_event_create_kernel_counter(attr, cpu, task, callback);
34}
745dd71e 35#else /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) */
3a523f5b
MD
36static inline struct perf_event *
37wrapper_perf_event_create_kernel_counter(struct perf_event_attr *attr,
38 int cpu,
39 struct task_struct *task,
40 perf_overflow_handler_t callback)
41{
42 pid_t pid;
43
44 if (!task)
45 pid = -1;
46 else
47 pid = task->pid;
48
49 return perf_event_create_kernel_counter(attr, cpu, pid, callback);
50}
51
745dd71e
AG
52#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) */
53
54#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
3a523f5b 55#define local64_read(l) atomic64_read(l)
745dd71e 56#endif
3a523f5b 57
bed5dbd4
DE
58#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) */
59
60#endif /* CONFIG_PERF_EVENTS */
90f5546c 61
a90917c3 62#endif /* _LTTNG_WRAPPER_PERF_H */
This page took 0.033915 seconds and 4 git commands to generate.