Re: [patch 05/24] perfmon: X86 generic code (x86)

From: Andi Kleen
Date: Thu Nov 27 2008 - 07:34:40 EST


> 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@xxxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/