Re: [PATCH] Perf: Correct Assumptions about Sample Timestamps inPasses

From: Peter Zijlstra
Date: Thu Nov 14 2013 - 10:26:07 EST


On Thu, Nov 14, 2013 at 08:02:48AM -0700, David Ahern wrote:
> On 11/14/13, 7:44 AM, Peter Zijlstra wrote:
> >On Thu, Nov 14, 2013 at 07:26:06AM -0700, David Ahern wrote:
> >>On 11/14/13, 3:05 AM, Ingo Molnar wrote:
> >>
> >>>What am I missing?
> >>
> >>I have spent quite a bit of time on this problem on this well. I think the
> >>flush time needs to be based on the start time of each round, not the
> >>minimum time observed across mmaps. I have tried the minimum time stamp
> >>route and it still fails often enough to be annoying.
> >>
> >>See builtin-kvm.c, perf_kvm__mmap_read(). The problem is that it takes time
> >>to move from mmap to mmap and sample can come in behind you - an mmap that
> >>has already be scanned with a timestamp less than what is determined to be
> >>the lowest minimum for the samples actually read. 'perf kvm stat live' in a
> >>nested environment is a stress test for the problem.
> >
> >In which case you need the sliding sort window to be n*buf_size, where n
> >is the number of buffers flushed into the one file. Or move to one file
> >per buffer and merge sort the lot, buffers should be monotonic.
>
> The one file per buffer does not work for live commands -- like perf-top and
> kvm-stat-live. perf-trace is not using the ordered samples code, but I think
> it needs to - especially for system wide.

Why would you need files for live things? Just merge sort the buffers
directly.
--
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/