lkml.org 
[lkml]   [2012]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
Subject[BUG] perf: perf_output_sample() merge issue?
From
Peter,

I was looking at perf_output_sample() today, when I ran
into the following weird statement coming from:

commit a7ac67ea021b4603095d2aa458bc41641238f22c
Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
Date: Mon Jun 27 16:47:16 2011 +0200

perf: Remove the perf_output_begin(.sample) argument

Since only samples call perf_output_sample() its much saner (and more


I think the intent of this commit was to add the watermark check
at the very end of the perf_output_sample() and NOT between processing
of RAW and BRANCH_STACK. Something may have gone wrong
in the merge.

Can you confirm this?


perf_output_sample()
{
if (sample_type & PERF_SAMPLE_RAW) {
}

if (!event->attr.watermark) {
int wakeup_events = event->attr.wakeup_events;

if (wakeup_events) {
struct ring_buffer *rb = handle->rb;
int events = local_inc_return(&rb->events);

if (events >= wakeup_events) {
local_sub(wakeup_events, &rb->events);
local_inc(&rb->wakeup);
}
}
}

if (sample_type & PERF_SAMPLE_BRANCH_STACK) {
}
}


\
 
 \ /
  Last update: 2012-06-13 15:41    [W:0.047 / U:2.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site