|
@@ -806,6 +806,7 @@ struct perf_output_handle {
|
|
struct bpf_perf_event_data_kern {
|
|
struct bpf_perf_event_data_kern {
|
|
struct pt_regs *regs;
|
|
struct pt_regs *regs;
|
|
struct perf_sample_data *data;
|
|
struct perf_sample_data *data;
|
|
|
|
+ struct perf_event *event;
|
|
};
|
|
};
|
|
|
|
|
|
#ifdef CONFIG_CGROUP_PERF
|
|
#ifdef CONFIG_CGROUP_PERF
|
|
@@ -884,7 +885,8 @@ perf_event_create_kernel_counter(struct perf_event_attr *attr,
|
|
void *context);
|
|
void *context);
|
|
extern void perf_pmu_migrate_context(struct pmu *pmu,
|
|
extern void perf_pmu_migrate_context(struct pmu *pmu,
|
|
int src_cpu, int dst_cpu);
|
|
int src_cpu, int dst_cpu);
|
|
-int perf_event_read_local(struct perf_event *event, u64 *value);
|
|
|
|
|
|
+int perf_event_read_local(struct perf_event *event, u64 *value,
|
|
|
|
+ u64 *enabled, u64 *running);
|
|
extern u64 perf_event_read_value(struct perf_event *event,
|
|
extern u64 perf_event_read_value(struct perf_event *event,
|
|
u64 *enabled, u64 *running);
|
|
u64 *enabled, u64 *running);
|
|
|
|
|
|
@@ -1286,7 +1288,8 @@ static inline const struct perf_event_attr *perf_event_attrs(struct perf_event *
|
|
{
|
|
{
|
|
return ERR_PTR(-EINVAL);
|
|
return ERR_PTR(-EINVAL);
|
|
}
|
|
}
|
|
-static inline int perf_event_read_local(struct perf_event *event, u64 *value)
|
|
|
|
|
|
+static inline int perf_event_read_local(struct perf_event *event, u64 *value,
|
|
|
|
+ u64 *enabled, u64 *running)
|
|
{
|
|
{
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|