Messages in this thread | | | From | "Liang, Kan" <> | Subject | RE: [PATCH 1/1] perf,tools: add time out to force stop endless mmap processing | Date | Fri, 12 Jun 2015 20:39:55 +0000 |
| |
> > On 6/12/15 12:19 PM, Liang, Kan wrote: > >>> [perf]$ sudo ./perf record -e instructions:pp --pid 14560 Reading > >>> /proc/14560/maps cost 13.12690599 s ^C[ perf record: Woken up 1 > >>> times to write data ] [ perf record: Captured and wrote 0.108 MB > >>> perf.data > >>> (2783 samples) ] > >> > >> so perf was able to read the proc file? > > > > Yes, perf always can read proc file. The problem is that the proc file > > is huge and keep growing faster than proc reader. > > So perf top do loop in perf_event__synthesize_mmap_events until the > > test case exit. > > I'm confused. How are you getting the above time to read /proc maps if it > never finishes?
I just tried to simplify the issue for perf record. So you may noticed that I only read one thread. There are several threads in the system. Also, I do the perf record test when starting the test case. The proc file is not that big. For perf top, it will monitor whole system. So it never finishes.
> > for this test case how does perf-record compare between proc and > task_diag? You can use my command for both. It defaults to using > task_diag and then you can add --no-task_diag to have it read /proc. And > as mentioned before it is only setup for 'perf record -a' case. So > > launch your test program > perf record -a -- usleep 1 > perf record -a --no-task_diag -- usleep 1 >
Here are the test results. Please note that I get "synthesized threads took..." after the test case exit. It means both way have the same issue.
[perf]$ sudo ./perf record -a -- usleep 1 synthesized threads took 278.780762 sec [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.617 MB perf.data (7974 samples) ]
[perf]$ sudo ./perf record -a --no-task_diag -- usleep 1 synthesized threads took 315.612403 sec [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.443 MB perf.data (2754 samples) ]
Thanks, Kan
| |