Re: Re: [RFE] perf probe: Support globbing/regex in -a
From: Masami Hiramatsu
Date: Fri Apr 10 2015 - 20:26:11 EST
(2015/04/09 19:36), Arnaldo Carvalho de Melo wrote:
> Em Thu, Apr 09, 2015 at 02:27:52PM +0900, Masami Hiramatsu escreveu:
>> Hi Arnaldo,
>>
>> (2015/04/09 4:48), Arnaldo Carvalho de Melo wrote:
>>> Hi Masami,
>>>
>>> In tools/perf constructors are named <CLASS>__new, and right now I want
>>> to know hoe many of each <CLASS> objects are being allocated, so I expected to
>>> be able to do:
>>>
>>> [root@zoo ~]# perf probe -x ~/bin/perf -a "*__new"
>>> Probe point '*__new' not found.
>>> Error: Failed to add events.
>>> [root@zoo ~]#
>>
>> Actually, I had sent itã:)
>>
>> https://lkml.org/lkml/2014/10/31/207
>> https://lkml.org/lkml/2014/10/31/213
>>
>> I'll update and resend the wildcard support.
>
> Oops, but it was together with that cache thing, could it be sent
> separately?
Yes, it can be applied separately. However, it may open the Pandora's box,
which we have to face to someday anyway :)
- "perf probe -a \*" can try to put probes on all functions in the kernel
including the inline functions. The total number of probes will be
more than one hundred-thousand (100,000)...
- Currently ftrace-kprobe doesn't limit the number of dynamic events, so
it can cause out of memory on some machine.
- Also, enabling such events at once, could cause performance problem,
which I had tackled last year. See below slide.
http://events.linuxfoundation.org/sites/events/files/slides/Handling%20the%20Massive%20Multiple%20Kprobes%20v2_1.pdf
(note that this series is not applied yet)
So, currently perf probe limits the maximum number of definable events at once
you can expand it with --max-probes anyway. And also, I've introduced --no-inlines
option to perf probe which reduces the number of matched functions when user
puts the probes with wild cards. (I'm considering to apply this option automatically
if the function name includes wild cards)
Thank you,
>
> <SNIP>
>
>>> Also that -l should output to stdout, so that we can grep it, also it would be nice if it -l worked
>>> like in perf list:
>>>
>>> [root@zoo ~]# perf probe -l probe_perf:*
>>> Semantic error :There is non-digit char in line number.
>>> Error: Command Parse Error.
>>
>> Hmm, right. This should be fixed.
>
> Thanks!
>
> - Arnaldo
>
--
Masami HIRAMATSU
Linux Technology Research Center, System Productivity Research Dept.
Center for Technology Innovation - Systems Engineering
Hitachi, Ltd., Research & Development Group
E-mail: masami.hiramatsu.pt@xxxxxxxxxxx
--
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/