Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/x86/events/probe.h
26451 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef __ARCH_X86_EVENTS_PROBE_H__
3
#define __ARCH_X86_EVENTS_PROBE_H__
4
#include <linux/sysfs.h>
5
6
struct perf_msr {
7
u64 msr;
8
struct attribute_group *grp;
9
bool (*test)(int idx, void *data);
10
bool no_check;
11
u64 mask;
12
};
13
14
unsigned long
15
perf_msr_probe(struct perf_msr *msr, int cnt, bool no_zero, void *data);
16
17
#define __PMU_EVENT_GROUP(_name) \
18
static struct attribute *attrs_##_name[] = { \
19
&attr_##_name.attr.attr, \
20
NULL, \
21
}
22
23
#define PMU_EVENT_GROUP(_grp, _name) \
24
__PMU_EVENT_GROUP(_name); \
25
static struct attribute_group group_##_name = { \
26
.name = #_grp, \
27
.attrs = attrs_##_name, \
28
}
29
30
#endif /* __ARCH_X86_EVENTS_PROBE_H__ */
31
32