[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <524C1729.4010904@gmail.com>
Date: Wed, 02 Oct 2013 06:52:57 -0600
From: David Ahern <dsahern@...il.com>
To: Jiri Olsa <jolsa@...hat.com>
CC: acme@...stprotocols.net, linux-kernel@...r.kernel.org,
Frederic Weisbecker <fweisbec@...il.com>,
Ingo Molnar <mingo@...nel.org>, Mike Galbraith <efault@....de>,
Namhyung Kim <namhyung@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Stephane Eranian <eranian@...gle.com>
Subject: Re: [PATCH] perf session: Add option to copy events when queueing
On 10/2/13 6:38 AM, Jiri Olsa wrote:
>>> Examples hitting this problem are 'perf kvm stat live', especially with nested
>>> VMs which generate 100,000+ traces per second, and a command processing
>>> scheduling events with a high rate of context switching -- e.g., running
>>> 'perf bench sched pipe'.
>>>
>>> This patch offers live commands an option to copy the event when it is
>>> placed in
>>> the ordered samples queue.
>
> So I guess you have some other patch that actually sets
> session::copy_on_queue?
Yes, with this patch commands have to set session->copy_on_queue to true.
My latest perf-sched-daemon code actually solves this another way:
rather than asking perf-session to copy the events, the command itself
does and passes the copied event to the perf-session processing code.
I like this design better because the command itself controls the
allocation and free which the daemon needs because the events are added
to another queue so the flow is:
read from mmmap --> copy event --> pass to session code for time
ordering --> process time ordered events
The daemon puts the time ordered events into a time-limited queue and
only processes the event when requested.
If that is too confusing take a look at:
https://github.com/dsahern/linux/blob/perf-sched-timehist-3.11/tools/perf/schedmon.c
process_event is the handler for sample events coming out of the mmaps.
It allocates memory, copies the event and then calls
perf_session_queue_event on the copy.
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists