aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/events
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/events')
-rw-r--r--kernel/events/core.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 63bdec9fdd21..3fe385aa93e6 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -141,6 +141,7 @@ enum event_type_t {
141struct static_key_deferred perf_sched_events __read_mostly; 141struct static_key_deferred perf_sched_events __read_mostly;
142static DEFINE_PER_CPU(atomic_t, perf_cgroup_events); 142static DEFINE_PER_CPU(atomic_t, perf_cgroup_events);
143static DEFINE_PER_CPU(atomic_t, perf_branch_stack_events); 143static DEFINE_PER_CPU(atomic_t, perf_branch_stack_events);
144static DEFINE_PER_CPU(atomic_t, perf_freq_events);
144 145
145static atomic_t nr_mmap_events __read_mostly; 146static atomic_t nr_mmap_events __read_mostly;
146static atomic_t nr_comm_events __read_mostly; 147static atomic_t nr_comm_events __read_mostly;
@@ -3139,6 +3140,9 @@ static void unaccount_event_cpu(struct perf_event *event, int cpu)
3139 } 3140 }
3140 if (is_cgroup_event(event)) 3141 if (is_cgroup_event(event))
3141 atomic_dec(&per_cpu(perf_cgroup_events, cpu)); 3142 atomic_dec(&per_cpu(perf_cgroup_events, cpu));
3143
3144 if (event->attr.freq)
3145 atomic_dec(&per_cpu(perf_freq_events, cpu));
3142} 3146}
3143 3147
3144static void unaccount_event(struct perf_event *event) 3148static void unaccount_event(struct perf_event *event)
@@ -6474,6 +6478,9 @@ static void account_event_cpu(struct perf_event *event, int cpu)
6474 } 6478 }
6475 if (is_cgroup_event(event)) 6479 if (is_cgroup_event(event))
6476 atomic_inc(&per_cpu(perf_cgroup_events, cpu)); 6480 atomic_inc(&per_cpu(perf_cgroup_events, cpu));
6481
6482 if (event->attr.freq)
6483 atomic_inc(&per_cpu(perf_freq_events, cpu));
6477} 6484}
6478 6485
6479static void account_event(struct perf_event *event) 6486static void account_event(struct perf_event *event)