diff options
-rw-r--r-- | kernel/events/core.c | 2 | ||||
-rw-r--r-- | kernel/events/internal.h | 2 | ||||
-rw-r--r-- | kernel/events/ring_buffer.c | 6 |
3 files changed, 5 insertions, 5 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 284232edf9be..5aeb4c74fb99 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
@@ -5468,7 +5468,7 @@ static void perf_mmap_close(struct vm_area_struct *vma) | |||
5468 | 5468 | ||
5469 | /* this has to be the last one */ | 5469 | /* this has to be the last one */ |
5470 | rb_free_aux(rb); | 5470 | rb_free_aux(rb); |
5471 | WARN_ON_ONCE(atomic_read(&rb->aux_refcount)); | 5471 | WARN_ON_ONCE(refcount_read(&rb->aux_refcount)); |
5472 | 5472 | ||
5473 | mutex_unlock(&event->mmap_mutex); | 5473 | mutex_unlock(&event->mmap_mutex); |
5474 | } | 5474 | } |
diff --git a/kernel/events/internal.h b/kernel/events/internal.h index 4718de2a04e6..79c47076700a 100644 --- a/kernel/events/internal.h +++ b/kernel/events/internal.h | |||
@@ -49,7 +49,7 @@ struct ring_buffer { | |||
49 | atomic_t aux_mmap_count; | 49 | atomic_t aux_mmap_count; |
50 | unsigned long aux_mmap_locked; | 50 | unsigned long aux_mmap_locked; |
51 | void (*free_aux)(void *); | 51 | void (*free_aux)(void *); |
52 | atomic_t aux_refcount; | 52 | refcount_t aux_refcount; |
53 | void **aux_pages; | 53 | void **aux_pages; |
54 | void *aux_priv; | 54 | void *aux_priv; |
55 | 55 | ||
diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c index 0a71d16ca41b..805f0423ee0b 100644 --- a/kernel/events/ring_buffer.c +++ b/kernel/events/ring_buffer.c | |||
@@ -357,7 +357,7 @@ void *perf_aux_output_begin(struct perf_output_handle *handle, | |||
357 | if (!atomic_read(&rb->aux_mmap_count)) | 357 | if (!atomic_read(&rb->aux_mmap_count)) |
358 | goto err; | 358 | goto err; |
359 | 359 | ||
360 | if (!atomic_inc_not_zero(&rb->aux_refcount)) | 360 | if (!refcount_inc_not_zero(&rb->aux_refcount)) |
361 | goto err; | 361 | goto err; |
362 | 362 | ||
363 | /* | 363 | /* |
@@ -670,7 +670,7 @@ int rb_alloc_aux(struct ring_buffer *rb, struct perf_event *event, | |||
670 | * we keep a refcount here to make sure either of the two can | 670 | * we keep a refcount here to make sure either of the two can |
671 | * reference them safely. | 671 | * reference them safely. |
672 | */ | 672 | */ |
673 | atomic_set(&rb->aux_refcount, 1); | 673 | refcount_set(&rb->aux_refcount, 1); |
674 | 674 | ||
675 | rb->aux_overwrite = overwrite; | 675 | rb->aux_overwrite = overwrite; |
676 | rb->aux_watermark = watermark; | 676 | rb->aux_watermark = watermark; |
@@ -689,7 +689,7 @@ out: | |||
689 | 689 | ||
690 | void rb_free_aux(struct ring_buffer *rb) | 690 | void rb_free_aux(struct ring_buffer *rb) |
691 | { | 691 | { |
692 | if (atomic_dec_and_test(&rb->aux_refcount)) | 692 | if (refcount_dec_and_test(&rb->aux_refcount)) |
693 | __rb_free_aux(rb); | 693 | __rb_free_aux(rb); |
694 | } | 694 | } |
695 | 695 | ||