Re: [PATCH 0/7] selftests/ftrace: Some improvements of ftracetest

From: Steven Rostedt
Date: Thu Jun 08 2017 - 13:37:54 EST


On Wed, 7 Jun 2017 17:01:08 -0600
Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> wrote:

> On 06/07/2017 04:56 PM, Steven Rostedt wrote:
> > On Wed, 7 Jun 2017 16:42:55 -0600
> > Shuah Khan <shuah@xxxxxxxxxx> wrote:
> >
> >> On 05/23/2017 12:02 AM, Masami Hiramatsu wrote:
> >>> Hi,
> >>>
> >>> This series improves ftracetest mainly to run on 4.9 stable
> >>> tree kernel. There still some issues remains (it seems some
> >>> fixes are not merged), but a half of issues are fixed.
> >>>
> >>> NOTE: One patch will modify ftrace README to check the
> >>> availability of the maxactive option, which should have
> >>> been implemented with the function-added patch.
> >>>
> >>> With this series, only 1 test actually failed on 4.9.29.
> >>> (and 3 unsupported, since it is too old to support it)
> >>>
> >>> Tue May 23 05:56:24 UTC 2017
> >>> === Ftrace unit tests ===
> >>> [1] Basic trace file check [PASS]
> >>> [2] Basic test for tracers [PASS]
> >>> [3] Basic trace clock test [PASS]
> >>> [4] Basic event tracing check [PASS]
> >>> [5] event tracing - enable/disable with event level files [PASS]
> >>> [6] event tracing - restricts events based on pid [PASS]
> >>> [7] event tracing - enable/disable with subsystem level files [PASS]
> >>> [8] event tracing - enable/disable with top level files [PASS]
> >>> [9] ftrace - function graph filters with stack tracer [PASS]
> >>> [10] ftrace - function graph filters [PASS]
> >>> [11] ftrace - function glob filters [PASS]
> >>> [12] ftrace - function pid filters [PASS]
> >>> [13] ftrace - test for function event triggers [PASS]
> >>> [14] ftrace - function profiler with function tracing [PASS]
> >>> [15] ftrace - test reading of set_ftrace_filter [FAIL]
> >>> [16] ftrace - test for function traceon/off triggers [PASS]
> >>> [17] Test creation and deletion of trace instances while setting an event [PASS]
> >>> [18] Test creation and deletion of trace instances [PASS]
> >>> [19] Kprobe dynamic event - adding and removing [PASS]
> >>> [20] Kprobe dynamic event - busy event check [PASS]
> >>> [21] Kprobe dynamic event with arguments [PASS]
> >>> [22] Kprobes event arguments with types [PASS]
> >>> [23] Kprobe dynamic event with function tracer [PASS]
> >>> [24] Kretprobe dynamic event with arguments [PASS]
> >>> [25] Kretprobe dynamic event with maxactive [UNSUPPORTED]
> >>> [26] event trigger - test event enable/disable trigger [PASS]
> >>> [27] event trigger - test trigger filter [PASS]
> >>> [28] event trigger - test histogram modifiers [PASS]
> >>> [29] event trigger - test histogram trigger [PASS]
> >>> [30] event trigger - test multiple histogram triggers [PASS]
> >>> [31] event trigger - test snapshot-trigger [PASS]
> >>> [32] event trigger - test stacktrace-trigger [PASS]
> >>> [33] event trigger - test traceon/off trigger [PASS]
> >>> [34] (instance) Basic test for tracers [PASS]
> >>> [35] (instance) Basic trace clock test [PASS]
> >>> [36] (instance) event tracing - enable/disable with event level files [PASS]
> >>> [37] (instance) event tracing - restricts events based on pid [PASS]
> >>> [38] (instance) event tracing - enable/disable with subsystem level files [PASS]
> >>> [39] (instance) ftrace - test for function event triggers [UNSUPPORTED]
> >>> [40] (instance) ftrace - test for function traceon/off triggers [UNSUPPORTED]
> >>> [41] (instance) event trigger - test event enable/disable trigger [PASS]
> >>> [42] (instance) event trigger - test trigger filter [PASS]
> >>> [43] (instance) event trigger - test histogram modifiers [PASS]
> >>> [44] (instance) event trigger - test histogram trigger [PASS]
> >>> [45] (instance) event trigger - test multiple histogram triggers [PASS]
> >>>
> >>> # of passed: 41
> >>> # of failed: 1
> >>> # of unresolved: 0
> >>> # of untested: 0
> >>> # of unsupported: 3
> >>> # of xfailed: 0
> >>> # of undefined(test bug): 0

I booted v4.12-rc4 with your config (didn't even have to change
anything for my box), and checkout the v4.12-rc4 kernel on the test box
and ran ftracetest. Here's my result:

# of passed: 40
# of failed: 0
# of unresolved: 0
# of untested: 0
# of unsupported: 6
# of xfailed: 0
# of undefined(test bug): 0

The unsupported were:

[29] event trigger - test histogram modifiers [UNSUPPORTED]
[30] event trigger - test histogram trigger [UNSUPPORTED]
[31] event trigger - test multiple histogram triggers [UNSUPPORTED]

[44] (instance) event trigger - test histogram modifiers [UNSUPPORTED]
[45] (instance) event trigger - test histogram trigger [UNSUPPORTED]
[46] (instance) event trigger - test multiple histogram triggers [UNSUPPORTED]

Now why is this different? What compiler are you using to build your
kernel?

Thanks!

-- Steve



> >>>
> >>>
> >>>> [15] ftrace - test reading of set_ftrace_filter [FAIL]
> >>> was caused by the difference of the result of
> >>> "dd bs=1 if=set_ftrace_filter" and "cat set_ftrace_filter",
> >>> which has been fixed on upstream by commit fcdc71257923
> >>> ("ftrace: Fix indexing of t_hash_start() from t_next()")
> >>> but backporting it onto 4.9.y stable tree didn't fix that.
> >>>
> >>>
> >>> Thank you,
> >>>
> >>> ---
> >>>
> >>> Masami Hiramatsu (7):
> >>> selftests/ftrace: Skip full-glob-matching filter test on older kernel
> >>> selftests/ftrace: Reduce trace buffer checking overhead
> >>> ftrace/kprobes: selftests: Check kretprobe maxactive is supported
> >>> selftests/ftrace: Reset ftrace filter on older kernel
> >>> selftests/ftrace: Add instance indication in test log
> >>> selftests/ftrace: Use top-level available_filter_function
> >>> selftests/ftrace: Return unsupported if it detects older kernel
> >>>
> >>>
> >>> kernel/trace/trace.c | 3 +-
> >>> tools/testing/selftests/ftrace/ftracetest | 2 +
> >>> .../ftrace/test.d/event/toplevel-enable.tc | 8 ++++--
> >>> .../ftrace/test.d/ftrace/func-filter-glob.tc | 28 ++++++++++++--------
> >>> .../ftrace/test.d/ftrace/func_event_triggers.tc | 9 ++++++
> >>> .../test.d/ftrace/func_traceonoff_triggers.tc | 13 +++++++++
> >>> .../ftrace/test.d/instances/instance-event.tc | 5 +++-
> >>> .../ftrace/test.d/kprobe/kretprobe_maxactive.tc | 1 +
> >>> 8 files changed, 53 insertions(+), 16 deletions(-)
> >>>
> >>> --
> >>> Masami Hiramatsu (Linaro) <mhiramat@xxxxxxxxxx>
> >>>
> >>>
> >>
> >> Hi Masami/Steve,
> >>
> >> I applied this series to linux-kselftest next. I am seeing these
> >> errors when ftracetest runs.
> >>
> >> Is this a known problem? Has this been fixed? I am guessing this
> >> problem is in the tracing sub-system. I ran the test on linux-kselftest
> >> next which is based on 4.12-rc4
> >>
> >> Am I missing a trace sub-system fix.
> >
> > No this is new to me. Just to confirm, you see this on 4.12-rc4 right?
> > Can you send me your config.
> >
>
> Here is the config - please see attached.
>
> -- Shuah
>
>