perf_event.h (7b47c66cfa203288c43851260edeeb0fae56f692) perf_event.h (c895f6f703ad7dd2f99e751d9884b0aa5d0eea25)
1/*
2 * Performance events:
3 *
4 * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de>
5 * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar
6 * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra
7 *
8 * Data type definitions, declarations, prototypes.
9 *
10 * Started by: Thomas Gleixner and Ingo Molnar
11 *
12 * For licencing details see kernel-base/COPYING
13 */
14#ifndef _LINUX_PERF_EVENT_H
15#define _LINUX_PERF_EVENT_H
16
17#include <uapi/linux/perf_event.h>
1/*
2 * Performance events:
3 *
4 * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de>
5 * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar
6 * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra
7 *
8 * Data type definitions, declarations, prototypes.
9 *
10 * Started by: Thomas Gleixner and Ingo Molnar
11 *
12 * For licencing details see kernel-base/COPYING
13 */
14#ifndef _LINUX_PERF_EVENT_H
15#define _LINUX_PERF_EVENT_H
16
17#include <uapi/linux/perf_event.h>
18#include <uapi/linux/bpf_perf_event.h>
18
19/*
20 * Kernel-internal data types and definitions:
21 */
22
23#ifdef CONFIG_PERF_EVENTS
24# include <asm/perf_event.h>
25# include <asm/local64.h>

--- 756 unchanged lines hidden (view full) ---

782 union {
783 void *addr;
784 unsigned long head;
785 };
786 int page;
787};
788
789struct bpf_perf_event_data_kern {
19
20/*
21 * Kernel-internal data types and definitions:
22 */
23
24#ifdef CONFIG_PERF_EVENTS
25# include <asm/perf_event.h>
26# include <asm/local64.h>

--- 756 unchanged lines hidden (view full) ---

783 union {
784 void *addr;
785 unsigned long head;
786 };
787 int page;
788};
789
790struct bpf_perf_event_data_kern {
790 struct pt_regs *regs;
791 bpf_user_pt_regs_t *regs;
791 struct perf_sample_data *data;
792 struct perf_event *event;
793};
794
795#ifdef CONFIG_CGROUP_PERF
796
797/*
798 * perf_cgroup_info keeps track of time_enabled for a cgroup.

--- 373 unchanged lines hidden (view full) ---

1172 struct task_struct *task);
1173extern void perf_bp_event(struct perf_event *event, void *data);
1174
1175#ifndef perf_misc_flags
1176# define perf_misc_flags(regs) \
1177 (user_mode(regs) ? PERF_RECORD_MISC_USER : PERF_RECORD_MISC_KERNEL)
1178# define perf_instruction_pointer(regs) instruction_pointer(regs)
1179#endif
792 struct perf_sample_data *data;
793 struct perf_event *event;
794};
795
796#ifdef CONFIG_CGROUP_PERF
797
798/*
799 * perf_cgroup_info keeps track of time_enabled for a cgroup.

--- 373 unchanged lines hidden (view full) ---

1173 struct task_struct *task);
1174extern void perf_bp_event(struct perf_event *event, void *data);
1175
1176#ifndef perf_misc_flags
1177# define perf_misc_flags(regs) \
1178 (user_mode(regs) ? PERF_RECORD_MISC_USER : PERF_RECORD_MISC_KERNEL)
1179# define perf_instruction_pointer(regs) instruction_pointer(regs)
1180#endif
1181#ifndef perf_arch_bpf_user_pt_regs
1182# define perf_arch_bpf_user_pt_regs(regs) regs
1183#endif
1180
1181static inline bool has_branch_stack(struct perf_event *event)
1182{
1183 return event->attr.sample_type & PERF_SAMPLE_BRANCH_STACK;
1184}
1185
1186static inline bool needs_branch_stack(struct perf_event *event)
1187{

--- 191 unchanged lines hidden ---
1184
1185static inline bool has_branch_stack(struct perf_event *event)
1186{
1187 return event->attr.sample_type & PERF_SAMPLE_BRANCH_STACK;
1188}
1189
1190static inline bool needs_branch_stack(struct perf_event *event)
1191{

--- 191 unchanged lines hidden ---