Re: [PATCH 1/1] perf,tools: add time out to force stop endless mmap processing

From: David Ahern
Date: Sat Jun 13 2015 - 00:08:17 EST


On 6/12/15 4:41 PM, Liang, Kan wrote:

On 6/12/15 2:39 PM, Liang, Kan wrote:
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.

Got it. So what you really mean is launching perf on an already running
process perf never finishes initializing. There are several types of problems
like this. For example on a sparc system with a 1024 cpus if I launch perf
(top or record) after starting a kernel build with make -j
1024 the build finishes before perf starts collecting samples. ie., it never
finishes walking /proc until the build is complete. task_diag does not solve
that problem either and in general the procps tools can't handle it either
(ps or top for example).


We should not stop using system wide perf top/record just because there
are some threads which have huge/growing maps.

I have not said anything to that effect. I am trying to understand the fundamental points here for a test app you can't / won't distribute. And, I am also pointing out similar problems that perf and other tools can't handle.

The maps information is not critical for sampling.

But is for correlating the addresses in those samples.


If task_diag does not solve this problem, I think we still need a time out
to force stop endless mmap processing. It's the simplest working
solution so far.

I disagree with the timeout. For example an overloaded system where perf is not getting scheduled could trigger the same.

Also, in the spirit of perf if you are going to drop information you need to generate an event that says information was lost and have the analysis tools show a message that information was lost. You can't simply bail out and have "[unknown]" shown for symbols / dsos. I get tons of user comments about perf showing callchains properly; the proposed patch just adds to that confusion.

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/