Messages in this thread | | | Date | Thu, 14 Nov 2013 16:25:49 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH] Perf: Correct Assumptions about Sample Timestamps in Passes |
| |
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.
| |