File tree Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Expand file tree Collapse file tree 2 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -202,6 +202,13 @@ struct pmu {
202
202
*/
203
203
int (* event_init ) (struct perf_event * event );
204
204
205
+ /*
206
+ * Notification that the event was mapped or unmapped. Called
207
+ * in the context of the mapping task.
208
+ */
209
+ void (* event_mapped ) (struct perf_event * event ); /*optional*/
210
+ void (* event_unmapped ) (struct perf_event * event ); /*optional*/
211
+
205
212
#define PERF_EF_START 0x01 /* start the counter when adding */
206
213
#define PERF_EF_RELOAD 0x02 /* reload the counter when starting */
207
214
#define PERF_EF_UPDATE 0x04 /* update the counter when stopping */
Original file line number Diff line number Diff line change @@ -4293,6 +4293,9 @@ static void perf_mmap_open(struct vm_area_struct *vma)
4293
4293
4294
4294
atomic_inc (& event -> mmap_count );
4295
4295
atomic_inc (& event -> rb -> mmap_count );
4296
+
4297
+ if (event -> pmu -> event_mapped )
4298
+ event -> pmu -> event_mapped (event );
4296
4299
}
4297
4300
4298
4301
/*
@@ -4312,6 +4315,9 @@ static void perf_mmap_close(struct vm_area_struct *vma)
4312
4315
int mmap_locked = rb -> mmap_locked ;
4313
4316
unsigned long size = perf_data_size (rb );
4314
4317
4318
+ if (event -> pmu -> event_unmapped )
4319
+ event -> pmu -> event_unmapped (event );
4320
+
4315
4321
atomic_dec (& rb -> mmap_count );
4316
4322
4317
4323
if (!atomic_dec_and_mutex_lock (& event -> mmap_count , & event -> mmap_mutex ))
@@ -4513,6 +4519,9 @@ static int perf_mmap(struct file *file, struct vm_area_struct *vma)
4513
4519
vma -> vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_DONTDUMP ;
4514
4520
vma -> vm_ops = & perf_mmap_vmops ;
4515
4521
4522
+ if (event -> pmu -> event_mapped )
4523
+ event -> pmu -> event_mapped (event );
4524
+
4516
4525
return ret ;
4517
4526
}
4518
4527
You can’t perform that action at this time.
0 commit comments