ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Dan Williams <dan.j.williams@intel.com>,
	James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: Trond Myklebust <trondmy@primarydata.com>,
	"ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [CORE TOPIC] stable workflow
Date: Sat, 9 Jul 2016 23:10:37 -0700	[thread overview]
Message-ID: <5781E6DD.4050902@roeck-us.net> (raw)
In-Reply-To: <CAPcyv4gQ+3aF+DhRVDioBD7O63VRDG+VAm3x0zVDDh4hg8kJig@mail.gmail.com>

On 07/09/2016 07:27 PM, Dan Williams wrote:
> On Sat, Jul 9, 2016 at 6:56 PM, James Bottomley
> <James.Bottomley@hansenpartnership.com> wrote:
>> On Sun, 2016-07-10 at 01:43 +0000, Trond Myklebust wrote:
>>>> On Jul 9, 2016, at 21:34, James Bottomley <
>>>> James.Bottomley@HansenPartnership.com> wrote:
>>>>
>>>> [duplicate ksummit-discuss@ cc removed]
>>>> On Sat, 2016-07-09 at 15:49 +0000, Trond Myklebust wrote:
>>>>>> On Jul 9, 2016, at 06:05, James Bottomley <
>>>>>> James.Bottomley@HansenPartnership.com> wrote:
>>>>>>
>>>>>> On Fri, 2016-07-08 at 17:43 -0700, Dmitry Torokhov wrote:
>>>>>>> On Sat, Jul 09, 2016 at 02:37:40AM +0200, Rafael J. Wysocki
>>>>>>> wrote:
>>>>>>>> I tend to think that all known bugs should be fixed, at
>>>>>>>> least
>>>>>>>> because once they have been fixed, no one needs to remember
>>>>>>>> about them any more. :-)
>>>>>>>>
>>>>>>>> Moreover, minor fixes don't really introduce regressions
>>>>>>>> that
>>>>>>>> often
>>>>>>>
>>>>>>> Famous last words :)
>>>>>>
>>>>>> Actually, beyond the humour, the idea that small fixes don't
>>>>>> introduce regressions must be our most annoying anti-pattern.
>>>>>>   The
>>>>>> reality is that a lot of so called fixes do introduce bugs.
>>>>>>   The
>>>>>> way this happens is that a lot of these "obvious" fixes go
>>>>>> through
>>>>>> without any deep review (because they're obvious, right?) and
>>>>>> the
>>>>>> bugs noisily turn up slightly later.  The way this works is
>>>>>> usually
>>>>>> that some code rearrangement is sold as a "fix" and later turns
>>>>>> out
>>>>>> not to be equivalent to the prior code ... sometimes in
>>>>>> incredibly
>>>>>> subtle ways. I think we should all be paying much more than lip
>>>>>> service to the old adage "If it ain't broke don't fix it”.
>>>>>
>>>>> The main problem with the stable kernel model right now is that
>>>>> we
>>>>> have no set of regression tests to apply. Unless someone goes in
>>>>> and
>>>>> actually tests each and every stable kernel affected by that “Cc:
>>>>> stable” line, then regressions will eventually happen.
>>>>>
>>>>> So do we want to have another round of “how do we regression test
>>>>> the
>>>>> kernel” talks?
>>>>
>>>> If I look back on our problems, they were all in device drivers, so
>>>> generic regression testing wouldn't have picked them up, in fact
>>>> most
>>>> would need specific testing on the actual problem device.  So, I
>>>> don't
>>>> really think testing is the issue, I think it's that we commit way
>>>> too
>>>> many "obvious" patches.  In SCSI we try to gate it by having a
>>>> mandatory Reviewed-by: tag before something gets in, but really
>>>> perhaps
>>>> we should insist on Tested-by: as well ... that way there's some
>>>> guarantee that the actual device being modified has been tested.
>>>
>>> That guarantees that it has been tested on the head of the kernel
>>> tree, but it doesn’t really tell you much about the behaviour when it
>>> hits the stable trees.
>>
>> The majority of stable regressions are actually patches with subtle
>> failures even in the head, so testing on the head properly would have
>> eliminated them.  I grant there are some problems where the backport
>> itself is flawed but the head works (usually because of missing
>> intermediate stuff) but perhaps by insisting on a Tested-by: before
>> backporting, we can at least eliminate a significant fraction of
>> regressions.
>>
>>>   What I’m saying is that we really want some form of unit testing
>>> that can be run to perform a minimal validation of the patch when it
>>> hits the older tree.
>>>
>>> Even device drivers have expected outputs for a given input that can
>>> be validated through unit testing.
>>
>> Without the actual hardware, this is difficult ...
>
> ...but not impossible, certainly there's opportunity to test more code
> paths than we do today with unit testing approaches.  For example
> tools/testing/nvdimm/ simulates "interesting" values in an ACPI NFIT
> table, and does not need a physical platform.  Yes, there will always
> be a class of bugs that can only be reproduced with hardware.
> However, I've tested USB host controller TRB handling code with unit
> tests for conditions that are difficult to reproduce with actual
> hardware.  I think there is room for improvement for device driver
> unit testing.

Also, testing may well include real hardware. kernelci.org _does_ test
with real hardware, just not extensively so. Plus, there is always qemu.
Sure, that is not _real_ real hardware, but it can be seen as a tool
to come as close as possible to real hardware without requiring an
expensive lab infrastructure. The question, just as with testing in general,
is more if anyone is willing to invest in it, not if it is possible or not.

Guenter

  reply	other threads:[~2016-07-10  6:10 UTC|newest]

Thread overview: 259+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-08 22:35 Jiri Kosina
2016-07-08 23:12 ` Guenter Roeck
2016-07-08 23:38   ` Luck, Tony
2016-07-09  8:34     ` Jiri Kosina
2016-07-09  8:58       ` Guenter Roeck
2016-07-09  9:29       ` Johannes Berg
2016-07-09 15:19         ` Jason Cooper
2016-07-09 16:04           ` Guenter Roeck
2016-07-09 19:15         ` Vlastimil Babka
2016-08-01  9:32           ` Johannes Berg
2016-08-01 11:10             ` Vlastimil Babka
2016-07-09 18:39       ` Andrew Lunn
2016-07-10  1:22       ` Rafael J. Wysocki
2016-07-08 23:52   ` Rafael J. Wysocki
2016-07-09  0:06     ` Dmitry Torokhov
2016-07-09  8:37       ` Jiri Kosina
2016-07-09  9:12         ` Mark Brown
2016-07-09  0:10   ` Dmitry Torokhov
2016-07-09  0:37     ` Rafael J. Wysocki
2016-07-09  0:43       ` Dmitry Torokhov
2016-07-09  1:53         ` Guenter Roeck
2016-07-09 10:05         ` James Bottomley
2016-07-09 15:49           ` Trond Myklebust
2016-07-09 22:41             ` Dan Williams
2016-07-10  1:34             ` James Bottomley
2016-07-10  1:43               ` Trond Myklebust
2016-07-10  1:56                 ` James Bottomley
2016-07-10  2:12                   ` Trond Myklebust
2016-07-10  2:15                   ` Rafael J. Wysocki
2016-07-10  3:00                     ` James Bottomley
2016-07-10  3:07                       ` Trond Myklebust
2016-07-26 13:35                       ` David Woodhouse
2016-07-26 13:44                         ` Guenter Roeck
2016-07-26 14:33                           ` David Woodhouse
2016-07-26 15:52                             ` Guenter Roeck
2016-07-28 21:02                             ` Laurent Pinchart
2016-07-29  0:10                               ` Steven Rostedt
2016-07-29  8:59                                 ` Laurent Pinchart
2016-07-29 14:28                                   ` Steven Rostedt
2016-08-01 13:53                                     ` Shuah Khan
2016-08-03  4:47                                       ` Bird, Timothy
2016-07-29 15:12                                   ` Mark Brown
2016-07-29 15:20                                     ` Steven Rostedt
2016-07-29 15:50                                       ` Mark Brown
2016-07-29 16:06                                         ` Steven Rostedt
2016-07-29 16:48                                           ` Mark Brown
2016-07-29 17:02                                             ` Steven Rostedt
2016-07-29 21:07                                               ` Alexandre Belloni
2016-07-29 21:40                                                 ` Steven Rostedt
2016-08-01 13:41                                                   ` Laurent Pinchart
2016-07-30 16:19                                               ` Luis R. Rodriguez
2016-08-01 13:35                                     ` Laurent Pinchart
2016-08-01 14:24                                       ` Mark Brown
2016-08-02 14:12                       ` Jani Nikula
2016-08-02 15:34                         ` Mark Brown
2016-08-02 23:17                           ` Rafael J. Wysocki
2016-08-03  9:36                             ` Jani Nikula
2016-08-03 11:09                               ` Greg KH
2016-08-03 13:05                                 ` Jani Nikula
2016-08-03 13:26                                   ` Greg KH
2016-08-03 13:48                                     ` Jiri Kosina
2016-08-03 13:57                                       ` James Bottomley
2016-08-03 13:59                                         ` Jiri Kosina
2016-08-03 14:04                                           ` James Bottomley
2016-08-03 14:10                                             ` Jiri Kosina
2016-08-04  1:23                                             ` Steven Rostedt
2016-08-04  8:20                                               ` Greg KH
2016-08-04 13:33                                                 ` Steven Rostedt
2016-08-04 15:32                                                   ` Takashi Iwai
2016-08-04 15:40                                                     ` Steven Rostedt
2016-08-04 15:47                                                     ` Jiri Kosina
2016-08-04 16:18                                                       ` Takashi Iwai
2016-08-04 16:26                                                         ` Steven Rostedt
2016-08-04 15:44                                                   ` Mark Brown
2016-08-04 15:56                                                     ` James Bottomley
2016-08-04 17:01                                                       ` Mark Brown
2016-08-04 17:11                                                         ` Steven Rostedt
2016-08-04 17:53                                                           ` Mark Brown
2016-08-05  8:16                                                           ` Jani Nikula
2016-08-04 16:14                                                     ` Steven Rostedt
2016-08-04 17:51                                                       ` Mark Brown
2016-08-04 18:16                                                       ` Geert Uytterhoeven
2016-08-04 18:44                                                         ` Steven Rostedt
2016-08-04 18:48                                                           ` Geert Uytterhoeven
2016-08-04 19:06                                                             ` Mark Brown
2016-08-04 18:52                                                           ` Laurent Pinchart
2016-08-04 19:30                                                             ` Steven Rostedt
2016-08-03 14:45                                         ` Mark Brown
2016-08-04 13:48                                         ` Geert Uytterhoeven
2016-08-03 14:19                                       ` Greg KH
2016-08-03 14:45                                         ` Jiri Kosina
2016-08-03 15:48                                           ` Guenter Roeck
2016-08-03 16:12                                             ` Dmitry Torokhov
2016-08-03 16:44                                               ` Guenter Roeck
2016-08-03 17:20                                                 ` Dmitry Torokhov
2016-08-03 18:21                                                   ` Guenter Roeck
2016-08-03 18:59                                                     ` Dmitry Torokhov
2016-08-03 21:25                                                       ` Jiri Kosina
2016-08-03 21:31                                                         ` Dmitry Torokhov
2016-08-03 21:36                                                           ` Jiri Kosina
2016-08-04  3:06                                                             ` Steven Rostedt
2016-08-03 22:25                                                           ` Guenter Roeck
2016-08-04 14:02                                                         ` Jan Kara
2016-08-03 18:57                                                 ` Jiri Kosina
2016-08-03 22:16                                                   ` Guenter Roeck
2016-08-04  3:14                                               ` Steven Rostedt
2016-08-04  3:32                                                 ` Dmitry Torokhov
2016-08-04  4:05                                                   ` Steven Rostedt
2016-08-04  8:27                                               ` Greg KH
2016-08-04  8:21                                             ` Greg KH
2016-08-05  4:46                                             ` Jonathan Cameron
2016-08-03 14:12                                     ` Jani Nikula
2016-08-03 14:33                                       ` Daniel Vetter
2016-08-03 13:20                                 ` Rafael J. Wysocki
2016-08-03 13:21                                   ` Jiri Kosina
2016-08-04  1:05                                     ` Rafael J. Wysocki
2016-08-03 13:39                                   ` Greg KH
2016-08-03 14:10                                     ` Chris Mason
2016-08-04  0:37                                     ` Rafael J. Wysocki
2016-08-03 15:47                                 ` Guenter Roeck
2016-08-04  8:25                                   ` Greg KH
2016-08-03 11:12                               ` Mark Brown
2016-07-10  2:27                   ` Dan Williams
2016-07-10  6:10                     ` Guenter Roeck [this message]
2016-07-11  4:03                     ` [Ksummit-discuss] [CORE TOPIC] kernel unit testing Trond Myklebust
2016-07-11  4:22                       ` James Bottomley
2016-07-11  4:30                         ` Trond Myklebust
2016-07-11  5:23                       ` Guenter Roeck
2016-07-11  8:56                         ` Hannes Reinecke
2016-07-11 16:20                         ` Mark Brown
2016-07-11 19:58                       ` Dan Williams
2016-07-12  9:35                         ` Jan Kara
2016-07-13  4:56                           ` Dan Williams
2016-07-13  9:04                             ` Jan Kara
2016-07-11 20:24                       ` Kevin Hilman
2016-07-11 23:03                         ` Guenter Roeck
2016-07-18  7:44                           ` Christian Borntraeger
2016-07-18  8:44                             ` Hannes Reinecke
2016-07-28 21:09                         ` Laurent Pinchart
2016-07-28 21:33                           ` Bird, Timothy
2016-08-02 18:42                           ` Kevin Hilman
2016-08-02 19:44                             ` Laurent Pinchart
2016-08-02 20:33                               ` Mark Brown
2016-07-13  4:48                       ` Alex Shi
2016-07-13  9:07                         ` Greg KH
2016-07-13 12:37                           ` Alex Shi
2016-07-13 19:59                             ` Olof Johansson
2016-07-13 22:23                               ` Alex Shi
2016-07-14  1:19                             ` Greg KH
2016-07-14  9:48                               ` Alex Shi
2016-07-14  9:54                                 ` Ard Biesheuvel
2016-07-14 14:13                                   ` Alex Shi
2016-07-13 14:34                           ` Mark Brown
2016-07-14  3:17                             ` Greg KH
2016-07-14 10:06                               ` Mark Brown
2016-07-15  0:22                                 ` Greg KH
2016-07-15  0:51                                   ` Guenter Roeck
2016-07-15  1:41                                     ` Greg KH
2016-07-15  2:56                                       ` Guenter Roeck
2016-07-15  4:29                                         ` Greg KH
2016-07-15  5:52                                           ` NeilBrown
2016-07-15  6:14                                             ` Greg KH
2016-07-15  7:02                                               ` Jiri Kosina
2016-07-15 11:42                                                 ` Greg KH
2016-07-15 11:47                                                   ` Jiri Kosina
2016-07-15 12:17                                                   ` Geert Uytterhoeven
2016-07-15  6:19                                             ` Rik van Riel
2016-07-15 12:17                                               ` Mark Brown
2016-07-26 13:45                                                 ` David Woodhouse
2016-07-15  6:32                                             ` James Bottomley
2016-07-15  7:01                                               ` NeilBrown
2016-07-15  7:28                                                 ` James Bottomley
2016-07-15  7:36                                                 ` Dmitry Torokhov
2016-07-15  9:29                                                   ` NeilBrown
2016-07-15 16:08                                                     ` Dmitry Torokhov
2016-07-15 11:05                                               ` Geert Uytterhoeven
2016-07-15 12:35                                                 ` James Bottomley
2016-07-15 12:44                                                   ` Geert Uytterhoeven
2016-07-15 11:24                                             ` Vlastimil Babka
2016-07-28 22:07                                               ` Laurent Pinchart
2016-07-21  7:13                                           ` Daniel Vetter
2016-07-21  7:44                                             ` Josh Triplett
2016-07-15 11:10                                     ` Mark Brown
2016-07-15 11:40                                       ` Greg KH
2016-07-15 12:38                                         ` Mark Brown
2016-07-10  2:07                 ` [Ksummit-discuss] [CORE TOPIC] stable workflow Rafael J. Wysocki
2016-07-10  6:19               ` Olof Johansson
2016-07-10 14:42                 ` Theodore Ts'o
2016-07-11  1:18                   ` Olof Johansson
2016-07-10  7:29           ` Takashi Iwai
2016-07-10 10:20             ` Jiri Kosina
2016-07-10 13:33               ` Guenter Roeck
2016-07-15  9:27                 ` Zefan Li
2016-07-15 13:52                   ` Guenter Roeck
2016-07-26 13:08           ` David Woodhouse
2016-07-10  7:37     ` Takashi Iwai
2016-07-09  0:06 ` Jason Cooper
2016-07-09  0:42   ` James Bottomley
2016-07-09  8:43     ` Jiri Kosina
2016-07-09  9:36       ` Mark Brown
2016-07-09 15:13         ` Guenter Roeck
2016-07-09 19:40           ` Sudip Mukherjee
2016-07-11  8:14             ` Jiri Kosina
2016-07-09 21:21           ` Theodore Ts'o
2016-07-11 15:13             ` Mark Brown
2016-07-11 17:03               ` Theodore Ts'o
2016-07-11 17:07                 ` Justin Forbes
2016-07-11 17:11                 ` Mark Brown
2016-07-11 17:13                   ` Olof Johansson
2016-07-11 17:17                     ` Mark Brown
2016-07-11 17:24                       ` Guenter Roeck
2016-07-11 17:44                         ` Mark Brown
2016-07-13  1:08                   ` Geert Uytterhoeven
2016-07-11 17:15                 ` Dmitry Torokhov
2016-07-11 17:20                   ` Theodore Ts'o
2016-07-11 17:26                     ` Dmitry Torokhov
2016-07-11 17:27                     ` Olof Johansson
2016-07-11 23:13                   ` Guenter Roeck
2016-07-11 17:17                 ` Josh Boyer
2016-07-11 22:42                 ` James Bottomley
2016-07-20 17:50                 ` Stephen Hemminger
2016-07-11  8:18           ` Jiri Kosina
2016-07-11 23:32             ` Guenter Roeck
2016-07-11 14:22           ` Mark Brown
2016-07-10 16:22         ` Vinod Koul
2016-07-10 17:01           ` Theodore Ts'o
2016-07-10 18:28             ` Guenter Roeck
2016-07-10 22:38               ` Rafael J. Wysocki
2016-07-11  8:47                 ` Jiri Kosina
2016-07-27  3:19                 ` Steven Rostedt
2016-07-10 22:39               ` Theodore Ts'o
2016-07-11  1:12                 ` Olof Johansson
2016-07-11  5:00             ` Vinod Koul
2016-07-11  5:13               ` Theodore Ts'o
2016-07-11 10:57                 ` Luis de Bethencourt
2016-07-11 14:18                 ` Vinod Koul
2016-07-11 17:34                   ` Guenter Roeck
2016-07-27  3:12                   ` Steven Rostedt
2016-07-27  4:36                     ` Vinod Koul
2016-07-09 14:57     ` Jason Cooper
2016-07-09 22:51       ` Jonathan Corbet
2016-07-10  7:21 ` Takashi Iwai
2016-07-11  7:44 ` Christian Borntraeger
2016-08-02 13:49 ` Jani Nikula
  -- strict thread matches above, loose matches on Subject: below --
2014-05-02 19:42 Jiri Kosina
2014-05-02 19:43 ` Josh Boyer
2014-05-02 20:09 ` Steven Rostedt
2014-05-02 20:12   ` Jiri Kosina
2014-05-02 20:22     ` Josh Boyer
2014-05-02 20:27     ` Steven Rostedt
2014-05-02 20:30       ` Jiri Kosina
2014-05-03 15:20       ` Greg Kroah-Hartman
2014-05-03 15:40       ` Greg Kroah-Hartman
2014-05-02 22:16     ` Jan Kara
2014-05-02 20:33 ` Ben Hutchings
2014-05-02 20:51 ` Paul E. McKenney
2014-05-02 20:57 ` Mark Brown
2014-05-02 23:35   ` Guenter Roeck
2014-05-03 15:22 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5781E6DD.4050902@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=dan.j.williams@intel.com \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=trondmy@primarydata.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox