public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] perf: perf_output_sample() merge issue?
@ 2012-06-13 12:51 Stephane Eranian
  2012-06-13 13:04 ` Peter Zijlstra
  0 siblings, 1 reply; 3+ messages in thread
From: Stephane Eranian @ 2012-06-13 12:51 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: LKML, mingo

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) {
        }
}

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-06-13 13:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-13 12:51 [BUG] perf: perf_output_sample() merge issue? Stephane Eranian
2012-06-13 13:04 ` Peter Zijlstra
2012-06-13 13:10   ` Stephane Eranian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox