On Mon, May 17, 2010 at 2:03 PM, Peter Zijlstra <pet...@infradead.org> wrote: > On Mon, 2010-05-17 at 13:56 +0200, Stephane Eranian wrote: >> >> + if (!data->nr_pages) { >> >> + atomic_inc(&data->lost); >> >> + goto out; >> >> + } > > >> Well, nr_pages = 0 means all you have is the sampling buffer >> header page. You cannot save any sample, so you actually >> loose everything. Perf reports a dozen samples but those >> are synthetic. The kernel cannot reject an mmap() for >> just one page because of the remapped counters, thus it >> has to handle this gracefully and at least report the lost >> samples. > > So you want to preserve this state for when you munmap() and mmap() > again? The only user of data->lost is writing the PERF_RECORD_LOST > event, which only ever happens when you have pages, so counting it when > there's no pages seems futile.
You're right. But couldn't you report lost samples in the buffer header as well? ------------------------------------------------------------------------------ _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel