On Tue, Mar 24, 2015 at 12:09:48PM -0400, David Ahern wrote:
Record currently wakes up based on watermarks to read events from the mmaps and
write them out to the file. The result is a file that can have large blocks of
events per mmap before a finished round event is added to the stream. This in
turn affects the quantity of events that have to be passed through the ordered
events queue before results can be displayed to the user. For commands like
perf-script this can lead to long unnecessarily long delays before a user gets
output. Large systems (e.g, 1024 cpus) further compound this effect. I have seen
instances where I have to wait 45 minutes for perf-script to process a 5GB file
before any events are shown.
so you have pipe to perf script, right?
This patch adds an option to perf-record to allow a user to specify the
poll timeout in msec. For example using 100 msec timeouts similar to perf-top
means the mmaps are traversed much more frequently leading to a smoother
analysis side.
there's also the '--no-buffering' option that sets:
attr->watermark = 0;
attr->wakeup_events = 1;
but that's just the other edge, which is not what you'd want
I think it's good to have user side configurable as well
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
thanks,
jirka