Re: [PATCH] selftests: remove obsolete kconfig fragment for cpu-hotplug

From: Sumit Semwal
Date: Thu Nov 02 2017 - 23:56:03 EST


Hello Lei,

On 2 November 2017 at 07:43, lyang0 <lei.yang@xxxxxxxxxxxxx> wrote:
>
>
> On 2017å11æ02æ 06:59, Shuah Khan wrote:
>>
>> On 11/01/2017 04:52 PM, Thomas Gleixner wrote:
>>>
>>> On Wed, 1 Nov 2017, Shuah Khan wrote:
>>>>
>>>> On 10/17/2017 08:10 PM, lei.yang@xxxxxxxxxxxxx wrote:
>>>>>
>>>>> From: Lei Yang <Lei.Yang@xxxxxxxxxxxxx>
>>>>>
>>>>> Kconfig CONFIG_CPU_NOTIFIER_ERROR_INJECT has been removed since kernel
>>>>> 4.10
>>>>> check commit:
>>>>> commit 530e9b76ae8f863dfdef4a6ad0b38613d32e8c3f
>>>>> Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>>>>> Date: Wed Dec 21 20:19:53 2016 +0100
>>>>>
>>>>> cpu/hotplug: Remove obsolete cpu hotplug register/unregister
>>>>> functions
>>>>>
>>>>> hotcpu_notifier(), cpu_notifier(), __hotcpu_notifier(),
>>>>> __cpu_notifier(),
>>>>> register_hotcpu_notifier(), register_cpu_notifier(),
>>>>> __register_hotcpu_notifier(), __register_cpu_notifier(),
>>>>> unregister_hotcpu_notifier(), unregister_cpu_notifier(),
>>>>> __unregister_hotcpu_notifier(), __unregister_cpu_notifier()
>>>>> <snip>
>>>>>
>>>>> Signed-off-by: Lei Yang <Lei.Yang@xxxxxxxxxxxxx>
>>>>> ---
>>>>> tools/testing/selftests/cpu-hotplug/config | 1 -
>>>>> 1 file changed, 1 deletion(-)
>>>>>
>>>>> diff --git a/tools/testing/selftests/cpu-hotplug/config
>>>>> b/tools/testing/selftests/cpu-hotplug/config
>>>>> index e6ab090..d4aca2a 100644
>>>>> --- a/tools/testing/selftests/cpu-hotplug/config
>>>>> +++ b/tools/testing/selftests/cpu-hotplug/config
>>>>> @@ -1,2 +1 @@
>>>>> CONFIG_NOTIFIER_ERROR_INJECTION=y
>>>>> -CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
>>>>>
>>>> Yes. It is removed from the kernel. However, selftests from the latest
>>>> release do get run routinely on older stable releases. Dropping the
>>>> config will impact coverage on older releases.
>>>>
>>>> Thomas/Greg,
>>>>
>>>> Any ideas on what we should do about this. On one hand it is a good idea
>>>> to remove it, however my concern is coverage on older releases.
>>>
>>> Can you check the kernel version on which you are running and do it
>>> runtime
>>> conditionally?
>>>
>> I have been avoiding adding kernel version checks to tests. Maybe this is
>> one exception since the functionality is obsoleted.
>
>
>
> I think the baseline is that we only assure kselftest works on the release
> it belongs to, for example, removing this config for the
> version above 4.10, keep it in old release. but looks it doesn't work like
> this way.
>
> I think We can't assure latest kselftest works still well on a very older
> releases
> yes, for some features it's common for each release. but we have some
> features that are only available in newer
> release. even for the common features, it's difficult to make sure it
> still works well for each
> release. maintenance is a big effort if we use something like version check.
> you never know what changes will make
> for general feature in the future release although it's common right now.

As Greg and several others have reiterated - the tests should be able
to check for presence of a feature, run it if it's applicable, and
skip if it's not. It really isn't about kernel version check, but
writing code and test in such a way that tests can 'degrade
gracefully', rather than fail. There are several good examples for the
same.

The idea of running newer tests is to gain coverage on older kernels
for features still present in them, but tests weren't available at the
time of the kernel tagging.

Hope this helps clear the doubt?
>
> Lei
>
>
>> In any case, just removing the config isn't the complete solution. I will
>> have to think about this some.
>>
>> thanks,
>> -- Shuah
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kselftest"
>> in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
Best,
Sumit.