Re: [PATCH] perf session: Add option to copy events when queueing

From: David Ahern
Date: Thu Oct 24 2013 - 09:12:37 EST


On 10/24/13 1:27 PM, Arnaldo Melo wrote:
Em Thu, Oct 24, 2013 at 11:23:32AM +0100, David Ahern escreveu:
On 10/24/13 10:30 AM, Frederic Weisbecker wrote:
Bah, checking that again, there don't seem to be a bug there. Actually
the sample buffer is reset after we pick the last entry. So it looks
all fine. I got confused as usual. Nevermind.

Ok. I had not come back to this thread since I decided on a
different route for the event copying. I'll take it out of my to-do
list.

Can you elaborate on that?

The driving use case is my perf-daemon:
https://github.com/dsahern/linux/blob/perf-sched-timehist-3.11/tools/perf/schedmon.c, line 271.

Rather than have the perf infrastructure manage the allocation and copies I decided to have the daemon do it. The session infrastructure is only used for time sorting.

This works better because the event that pops out of the session ordering is put onto another list and it gives the daemon control of when memory is allocated and freed and the event only has to be copied once.


I had this feeling that perhaps we could defer copying the event till it
would be overwritten, something like making a range read only and then
when the event would be _really_ consumed the tooling would mark it as
so... Have to think about it more tho :-\

The above does not solve the problem for live tools where the event actually lies in the ring buffer and could be overwritten while it sits in the session ordered samples queue. The kvm-stat-live tool for nested virtualization is a stress test for this case. I need to come back to that problem, it just has not bubbled up to the top.

David
--
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/