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

From: Shuah Khan
Date: Thu Jun 08 2017 - 16:06:36 EST


On 06/08/2017 11:37 AM, Steven Rostedt wrote:
> 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?
>
gcc version 6.3.0 20170406 (Ubuntu 6.3.0-12ubuntu2)


I don't see any regressions. I use this system for stable release testing
and haven't seen any issues. Does ftrace have a dependency on a specific
gcc revision?


Full details:
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 6.3.0-12ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.3.0 20170406 (Ubuntu 6.3.0-12ubuntu2)

gcc version 6.3.0 20170406 (Ubuntu 6.3.0-12ubuntu2)

thanks,
-- Shuah