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

From: Shuah Khan
Date: Thu Jun 08 2017 - 17:33:47 EST


On 06/08/2017 03:26 PM, Steven Rostedt wrote:
> On Thu, 8 Jun 2017 15:14:19 -0600
> Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> wrote:
>
>> On 06/08/2017 03:08 PM, Steven Rostedt wrote:
>>> On Thu, 8 Jun 2017 14:06:23 -0600
>>> Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> wrote:
>>>
>>>>>>>>> # 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?
>>>
>>> It behaves differently with different gcc, as some support mfentry,
>>> while others only use mcount. gcc 6.3.0 should be using mfentry. I'm
>>> testing with 6.2, a build I made myself.
>>>
>>> Just to confirm, you are running the 4.12-rc4 ftracetests on a 4.12-rc4
>>> kernel and getting this error? Or are you running a different version
>>> of ftracetest or a different version of the kernel?
>>>
>>
>> I am running 4.12-rc4 ftracetests on a 4.12-rc4 kernel. I did a headers
>> install before I built and ran kselftest.
>
> Well, ftracetest is mainly bash scripts. So it shouldn't be affected by
> any C libraries or headers.

Right. I was retracing my steps aloud :)

>
>>
>> btw tests should run on older kernels failing gracefully when feature isn't
>> supported and/or enabled.
>
> Correct, it should do that.
>
>>
>> So the expectation is for ftracetest to run cleanly skipping tests on older
>> kernels.
>
> Note, when a bug is found, we do add the reproducer to ftracetest. So
> depending on whether you have the latest stable, or the stable has a
> fix, ftracetest can cause the machine to crash on older releases.

Yeah - that could be problem, I would worry more if ftracetest can be run
as a non-root user. As ftracetest is intrusive in nature just like the timer
tests, we could say user needs to be aware.

If the outcome isn't desirable, we could run ftracetest conditionally as
a last resort. I think it is important for it to be run as part of kselftest
suite run.

thanks,
-- Shuah