Message ID | 20220126201341.55771-1-skhan@linuxfoundation.org |
---|---|
State | Accepted |
Commit | dede34b2c1a88e26f8353b433e381ea355f7258d |
Headers | show |
Series | docs/kselftest: clarify running mainline tests on stables | expand |
Hi Shuah, On 1/26/2022 12:13 PM, Shuah Khan wrote: > Update the document to clarifiy support for running mainline > kselftest on stable releases and the reasons for not removing > test code that can test older kernels. > > Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> > --- > Documentation/dev-tools/kselftest.rst | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst > index dcefee707ccd..a833ecf12fbc 100644 > --- a/Documentation/dev-tools/kselftest.rst > +++ b/Documentation/dev-tools/kselftest.rst > @@ -7,6 +7,14 @@ directory. These are intended to be small tests to exercise individual code > paths in the kernel. Tests are intended to be run after building, installing > and booting a kernel. > > +Kselftest from mainline can be run on older stable kernels. Running tests > +from mainline offers the best coverage. Several test rings run mainline > +kselftest suite on stable releases. The reason is that when a new test > +gets added to test existing code to regression test a bug, we should be > +able to run that test on an older kernel. Hence, it is important to keep > +code that can still test an older kernel and make sure it skips the test > +gracefully on newer releases. > + > You can find additional information on Kselftest framework, how to > write new tests using the framework on Kselftest wiki: > (My apologies if this is already documented, I was not able to find this guidance in Documentation/dev-tools/kselftest.rst nor when looking at the "Kselftest use-cases..." slides linked from https://kselftest.wiki.kernel.org/) Could you please clarify what the requirement/expectation is regarding fixes to tests? Since the recommendation in the above change is that Kselftest from mainline should be run on older stable kernels, is it required to backport fixes to the tests themselves to stable kernels? Thank you very much Reinette
Hi Reinette, On 1/31/22 12:37 PM, Reinette Chatre wrote: > Hi Shuah, > > On 1/26/2022 12:13 PM, Shuah Khan wrote: >> Update the document to clarifiy support for running mainline >> kselftest on stable releases and the reasons for not removing >> test code that can test older kernels. >> >> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> >> --- >> Documentation/dev-tools/kselftest.rst | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> >> diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst >> index dcefee707ccd..a833ecf12fbc 100644 >> --- a/Documentation/dev-tools/kselftest.rst >> +++ b/Documentation/dev-tools/kselftest.rst >> @@ -7,6 +7,14 @@ directory. These are intended to be small tests to exercise individual code >> paths in the kernel. Tests are intended to be run after building, installing >> and booting a kernel. >> >> +Kselftest from mainline can be run on older stable kernels. Running tests >> +from mainline offers the best coverage. Several test rings run mainline >> +kselftest suite on stable releases. The reason is that when a new test >> +gets added to test existing code to regression test a bug, we should be >> +able to run that test on an older kernel. Hence, it is important to keep >> +code that can still test an older kernel and make sure it skips the test >> +gracefully on newer releases. >> + >> You can find additional information on Kselftest framework, how to >> write new tests using the framework on Kselftest wiki: >> > > (My apologies if this is already documented, I was not able to find this guidance > in Documentation/dev-tools/kselftest.rst nor when looking at the > "Kselftest use-cases..." slides linked from https://kselftest.wiki.kernel.org/) > > Could you please clarify what the requirement/expectation is regarding fixes > to tests? Since the recommendation in the above change is that Kselftest from > mainline should be run on older stable kernels, is it required to backport > fixes to the tests themselves to stable kernels? > Couple of things to consider. - A new test gets added to regression test a bug in stable and mainline - A new test gets added to test a kernel module/feature/API that has been supported by stable and mainline releases In both of these cases, running mainline kselftest on stables gives you the best coverage. Kselftest fixes get pulled into stables like any other kernel fixes. If a few fixes are missing, it is a good idea to back-port if they fall into above two categories. If the test is for a new feature then, it doesn't make sense to back-port. Hope this is helpful. thanks, -- Shuah
Hi Shuah, On 1/31/2022 12:34 PM, Shuah Khan wrote: > On 1/31/22 12:37 PM, Reinette Chatre wrote: >> On 1/26/2022 12:13 PM, Shuah Khan wrote: >>> Update the document to clarifiy support for running mainline >>> kselftest on stable releases and the reasons for not removing >>> test code that can test older kernels. >>> >>> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> >>> --- >>> Documentation/dev-tools/kselftest.rst | 8 ++++++++ >>> 1 file changed, 8 insertions(+) >>> >>> diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst >>> index dcefee707ccd..a833ecf12fbc 100644 >>> --- a/Documentation/dev-tools/kselftest.rst >>> +++ b/Documentation/dev-tools/kselftest.rst >>> @@ -7,6 +7,14 @@ directory. These are intended to be small tests to exercise individual code >>> paths in the kernel. Tests are intended to be run after building, installing >>> and booting a kernel. >>> +Kselftest from mainline can be run on older stable kernels. Running tests >>> +from mainline offers the best coverage. Several test rings run mainline >>> +kselftest suite on stable releases. The reason is that when a new test >>> +gets added to test existing code to regression test a bug, we should be >>> +able to run that test on an older kernel. Hence, it is important to keep >>> +code that can still test an older kernel and make sure it skips the test >>> +gracefully on newer releases. >>> + >>> You can find additional information on Kselftest framework, how to >>> write new tests using the framework on Kselftest wiki: >>> >> >> (My apologies if this is already documented, I was not able to find this guidance >> in Documentation/dev-tools/kselftest.rst nor when looking at the >> "Kselftest use-cases..." slides linked from https://kselftest.wiki.kernel.org/) >> >> Could you please clarify what the requirement/expectation is regarding fixes >> to tests? Since the recommendation in the above change is that Kselftest from >> mainline should be run on older stable kernels, is it required to backport >> fixes to the tests themselves to stable kernels? >> > > Couple of things to consider. > > - A new test gets added to regression test a bug in stable and mainline > - A new test gets added to test a kernel module/feature/API that has been > supported by stable and mainline releases > > In both of these cases, running mainline kselftest on stables gives you the > best coverage. > > Kselftest fixes get pulled into stables like any other kernel fixes. If a few > fixes are missing, it is a good idea to back-port if they fall into above two > categories. If the test is for a new feature then, it doesn't make sense to > back-port. > > Hope this is helpful. This is helpful, thank you very much. In summary I understand this to mean that when testing a stable kernel it is recommended to run tests from mainline, but running the tests from the same stable kernel version as the kernel being tested is also a supported use case and thus fixes to tests should be back-ported. Thank you Reinette
Hi Reinette, On 1/31/22 2:20 PM, Reinette Chatre wrote: > Hi Shuah, > > On 1/31/2022 12:34 PM, Shuah Khan wrote: >> On 1/31/22 12:37 PM, Reinette Chatre wrote: >>> On 1/26/2022 12:13 PM, Shuah Khan wrote: >>>> Update the document to clarifiy support for running mainline >>>> kselftest on stable releases and the reasons for not removing >>>> test code that can test older kernels. >>>> >>>> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> >>>> --- >>>> Documentation/dev-tools/kselftest.rst | 8 ++++++++ >>>> 1 file changed, 8 insertions(+) >>>> >>>> diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst >>>> index dcefee707ccd..a833ecf12fbc 100644 >>>> --- a/Documentation/dev-tools/kselftest.rst >>>> +++ b/Documentation/dev-tools/kselftest.rst >>>> @@ -7,6 +7,14 @@ directory. These are intended to be small tests to exercise individual code >>>> paths in the kernel. Tests are intended to be run after building, installing >>>> and booting a kernel. >>>> +Kselftest from mainline can be run on older stable kernels. Running tests >>>> +from mainline offers the best coverage. Several test rings run mainline >>>> +kselftest suite on stable releases. The reason is that when a new test >>>> +gets added to test existing code to regression test a bug, we should be >>>> +able to run that test on an older kernel. Hence, it is important to keep >>>> +code that can still test an older kernel and make sure it skips the test >>>> +gracefully on newer releases. >>>> + >>>> You can find additional information on Kselftest framework, how to >>>> write new tests using the framework on Kselftest wiki: >>>> >>> >>> (My apologies if this is already documented, I was not able to find this guidance >>> in Documentation/dev-tools/kselftest.rst nor when looking at the >>> "Kselftest use-cases..." slides linked from https://kselftest.wiki.kernel.org/) >>> >>> Could you please clarify what the requirement/expectation is regarding fixes >>> to tests? Since the recommendation in the above change is that Kselftest from >>> mainline should be run on older stable kernels, is it required to backport >>> fixes to the tests themselves to stable kernels? >>> >> >> Couple of things to consider. >> >> - A new test gets added to regression test a bug in stable and mainline >> - A new test gets added to test a kernel module/feature/API that has been >> supported by stable and mainline releases >> >> In both of these cases, running mainline kselftest on stables gives you the >> best coverage. >> >> Kselftest fixes get pulled into stables like any other kernel fixes. If a few >> fixes are missing, it is a good idea to back-port if they fall into above two >> categories. If the test is for a new feature then, it doesn't make sense to >> back-port. >> >> Hope this is helpful. > > This is helpful, thank you very much. In summary I understand this to mean that > when testing a stable kernel it is recommended to run tests from mainline, but > running the tests from the same stable kernel version as the kernel being tested > is also a supported use case and thus fixes to tests should be back-ported. > Correct. Right. In the slide set you referenced, I included a slide that shows the combination and one of them is indeed rev matching kselftest and kernel. Some tests such as bpf require rev match with the kernel i.e running kselftest from the same release. thanks, -- Shuah
diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst index dcefee707ccd..a833ecf12fbc 100644 --- a/Documentation/dev-tools/kselftest.rst +++ b/Documentation/dev-tools/kselftest.rst @@ -7,6 +7,14 @@ directory. These are intended to be small tests to exercise individual code paths in the kernel. Tests are intended to be run after building, installing and booting a kernel. +Kselftest from mainline can be run on older stable kernels. Running tests +from mainline offers the best coverage. Several test rings run mainline +kselftest suite on stable releases. The reason is that when a new test +gets added to test existing code to regression test a bug, we should be +able to run that test on an older kernel. Hence, it is important to keep +code that can still test an older kernel and make sure it skips the test +gracefully on newer releases. + You can find additional information on Kselftest framework, how to write new tests using the framework on Kselftest wiki:
Update the document to clarifiy support for running mainline kselftest on stable releases and the reasons for not removing test code that can test older kernels. Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> --- Documentation/dev-tools/kselftest.rst | 8 ++++++++ 1 file changed, 8 insertions(+)