Thread (15 messages) 15 messages, 2 authors, 2017-06-29

Re: [PATCH 2/2] selftests/ftrace: Update multiple kprobes test for powerpc

From: Masami Hiramatsu <mhiramat@kernel.org>
Date: 2017-06-29 00:58:03
Also in: lkml

On Thu, 29 Jun 2017 00:13:24 +0530
"Naveen N. Rao" [off-list ref] wrote:
On 2017/06/28 11:16PM, Masami Hiramatsu wrote:
quoted
quoted
quoted
diff --git 
a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_eventname.tc 
b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_eventname.tc
new file mode 100644
index 0000000..d259031
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_eventname.tc
@@ -0,0 +1,28 @@
+#!/bin/sh
+# description: Kprobe event auto/manual naming
+
+disable_events
+echo > kprobe_events
+
+:;: "Add an event on function without name" ;:
+
+FUNC=`grep -m 10 " [tT] [^.]*$" /proc/kallsyms | tail -n 1 | cut -f 3 -d " "`
On powerpc, this always ends up using a blacklisted function. So, I 
think we need a way to find a function that is not black listed.  
Hmm, if we increase the -m argument, like -m 100, is that still
in a blacklisted function?
Yes, most of the initial symbols are exception vectors which are 
blacklisted.
Hmm, then how about this? :)

grep _stext -A 1000 | grep -m 10 " [tT] [^.]*$" /proc/kallsyms
quoted
quoted
However, one of the issues is that debugfs does not show all the address 
ranges that are blacklisted. I am coming up with a way to address that 
and will post patches once I have it working.
Would you find that is only on powerpc or generic issue?
I meant the address _ranges_ that are blacklisted such as the ones with 
__kprobes annotation and __entry_text and so on.
I see, but we can also check the address by comparing the address
of symbols, which also can be retrieved from kallsyms.
Since the test case is also applied to stable kernel, I don't want
to make it depending on some special kernel tweaks.
quoted
quoted
With those patches, we should be able to select symbols that are not 
blacklisted.
Or, maybe we can use generic function, like "schedule" or "vfs_read"
etc.
Yes, I think this will be good for the generic test, but may not help 
selecting a dot symbol on powerpc.
Right, and it depends on what gcc version and option is specified.
So, maybe we can skip the test if there is no such symbols.

I intended to test the symbols with some dot-suffix, but it seems
ppc64 has dot-started symbols, right? If there is no dot-suffixed
symbols, I think this test should skip the test case.

Thank you,



-- 
Masami Hiramatsu [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help