lkml.org 
[lkml]   [2014]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 09/22] perf: Support overwrite mode for AUX area
On Wed, Aug 20, 2014 at 03:36:06PM +0300, Alexander Shishkin wrote:

> diff --git a/kernel/events/ring_buffer.c b/kernel/events/ring_buffer.c
> index 925f369947..5006caba63 100644
> --- a/kernel/events/ring_buffer.c
> +++ b/kernel/events/ring_buffer.c

> @@ -294,9 +295,22 @@ void perf_aux_output_end(struct perf_output_handle *handle, unsigned long size,
> bool truncated)
> {
> struct ring_buffer *rb = handle->rb;
> + unsigned long aux_head;
>
> + aux_head = local_read(&rb->aux_head);
> +
> + if (rb->aux_overwrite) {
> + local_set(&rb->aux_head, size);
> +
> + /*
> + * Send a RECORD_AUX with size==0 to communicate aux_head
> + * of this snapshot to userspace
> + */
> + perf_event_aux_event(handle->event, size, 0, truncated);

Humm.. why not write a 'normal' AUX record?

Also, you didn't mention this in your Changelog _at_all_.

> + } else {
> + local_add(size, &rb->aux_head);
> + perf_event_aux_event(handle->event, aux_head, size, truncated);
> + }
>
> smp_wmb();
> rb->user_page->aux_head = local_read(&rb->aux_head);
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2014-09-09 11:21    [W:0.250 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site