Messages in this thread | | | Date | Thu, 27 Nov 2008 13:45:01 +0100 | From | Andi Kleen <> | Subject | Re: [patch 05/24] perfmon: X86 generic code (x86) |
| |
> What if a threads reprograms the counters while another is reading them?
In the worst case you get an invalid event, which is then discarded. I think. I've never tried to understand it in all details, but at least it seems to work.
> How is the buffer reset?
drivers/oprofile/cpu_buffer.c:
/* Resets the cpu buffer to a sane state. */ void cpu_buffer_reset(struct oprofile_cpu_buffer *cpu_buf) { /* reset these to invalid values; the next sample * collected will populate the buffer with proper * values to initialize the buffer */ cpu_buf->last_is_kernel = -1; cpu_buf->last_task = NULL; }
-Andi
-- ak@linux.intel.com
| |