From: Mike Galbraith <efault@gmx.de>
To: David Ahern <dsahern@gmail.com>
Cc: acme@ghostprotocols.net, linux-kernel@vger.kernel.org,
Ingo Molnar <mingo@kernel.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH 3/3] perf record: mmap output file
Date: Wed, 09 Oct 2013 09:14:12 +0200 [thread overview]
Message-ID: <1381302852.5388.40.camel@marge.simpson.net> (raw)
In-Reply-To: <1381289214-24885-4-git-send-email-dsahern@gmail.com>
On Tue, 2013-10-08 at 21:26 -0600, David Ahern wrote:
> When recording raw_syscalls for the entire system, e.g.,
> perf record -e raw_syscalls:*,sched:sched_switch -a -- sleep 1
>
> you end up with a negative feedback loop as perf itself calls
> write() fairly often. This patch handles the problem by mmap'ing the
> file in chunks of 64M at a time and copies events from the event buffers
> to the file avoiding write system calls.
>
> Before (with write syscall):
>
> perf record -o /tmp/perf.data -e raw_syscalls:*,sched:sched_switch -a -- sleep 1
> [ perf record: Woken up 0 times to write data ]
> [ perf record: Captured and wrote 81.843 MB /tmp/perf.data (~3575786 samples) ]
>
> After (using mmap):
>
> perf record -o /tmp/perf.data -e raw_syscalls:*,sched:sched_switch -a -- sleep 1
> [ perf record: Woken up 31 times to write data ]
> [ perf record: Captured and wrote 8.203 MB /tmp/perf.data (~358388 samples) ]
You cured some annoying lost chunks too.
master (cache is hot in target tip tree)
[ perf record: Woken up 0 times to write data ]
[ perf record: Captured and wrote 1398.520 MB perf.data (~61102281 samples) ]
Warning:
Processed 15894046 events and lost 15 chunks!
Check IO/CPU overload!
Performance counter stats for 'sh -c cd /usr/local/src/kernel/linux-3.x-tip/tools/perf; make clean; perf record -a -e raw_syscalls:* -- make -j4':
90405.531301 task-clock # 2.580 CPUs utilized
18433 context-switches # 0.204 K/sec
1503 cpu-migrations # 0.017 K/sec
2543758 page-faults # 0.028 M/sec
214649052820 cycles # 2.374 GHz [50.40%]
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
201026412643 instructions # 0.94 insns per cycle [75.48%]
41960433084 branches # 464.136 M/sec [75.22%]
1835477524 branch-misses # 4.37% of all branches [75.13%]
35.039394045 seconds time elapsed
patched master
marge:/usr/local/src/kernel/linux-3.x.git/tools/perf # export PERF=`pwd`/perf
[ perf record: Woken up 1070 times to write data ]
[ perf record: Captured and wrote 269.060 MB perf.data (~11755404 samples) ]
Performance counter stats for 'sh -c cd /usr/local/src/kernel/linux-3.x-tip/tools/perf; make clean; $PERF record -a -e raw_syscalls:* -- make -j4':
67553.069792 task-clock # 2.934 CPUs utilized
16183 context-switches # 0.240 K/sec
880 cpu-migrations # 0.013 K/sec
2253888 page-faults # 0.033 M/sec
159940676657 cycles # 2.368 GHz [50.20%]
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
152420909413 instructions # 0.95 insns per cycle [75.39%]
32857102452 branches # 486.389 M/sec [75.58%]
1674403244 branch-misses # 5.10% of all branches [75.15%]
23.020412569 seconds time elapsed
prev parent reply other threads:[~2013-10-09 7:14 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-09 3:26 [PATCH 0/3] perf trace enhancements David Ahern
2013-10-09 3:26 ` [PATCH 1/3] perf util: Add findnew method to intlist - v2 David Ahern
2013-10-15 5:32 ` [tip:perf/core] perf util: Add findnew method to intlist tip-bot for David Ahern
2013-10-09 3:26 ` [PATCH 2/3] perf trace: Add summary option to dump syscall statistics David Ahern
2013-10-09 13:16 ` Jiri Olsa
2013-10-15 5:32 ` [tip:perf/core] " tip-bot for David Ahern
2013-10-09 3:26 ` [PATCH 3/3] perf record: mmap output file David Ahern
2013-10-09 5:59 ` Ingo Molnar
2013-10-15 14:04 ` David Ahern
2013-10-15 14:32 ` Arnaldo Carvalho de Melo
2013-10-15 14:38 ` Peter Zijlstra
2013-10-15 15:27 ` Ingo Molnar
2013-10-15 15:29 ` Peter Zijlstra
2013-10-15 15:30 ` David Ahern
2013-10-15 16:06 ` Ingo Molnar
2013-10-15 16:16 ` David Ahern
2013-10-16 7:11 ` Ingo Molnar
2013-10-15 16:37 ` Peter Zijlstra
2013-10-09 7:14 ` Mike Galbraith [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1381302852.5388.40.camel@marge.simpson.net \
--to=efault@gmx.de \
--cc=acme@ghostprotocols.net \
--cc=dsahern@gmail.com \
--cc=eranian@google.com \
--cc=fweisbec@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®