ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: josh@joshtriplett.org
Cc: "ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [TOPIC] Encouraging more reviewers
Date: Thu, 29 May 2014 10:13:21 +0400	[thread overview]
Message-ID: <1401344001.27691.4.camel@dabdike> (raw)
In-Reply-To: <20140528233145.GA14933@cloud>


On Wed, 2014-05-28 at 16:31 -0700, josh@joshtriplett.org wrote:
> On Wed, May 28, 2014 at 11:59:02PM +0200, Thomas Gleixner wrote:
> > You need to look at the underlying problem. And that's at least
> > related by the commit statistics. The flood of crappy patches and the
> > amount of review cycles it takes to get even trivial stuff into an
> > acceptable shape is what makes the live of a maintainer and reviewer a
> > nightmare.
> > 
> > The goals of some organizations, to reach a top X contributor level in
> > 201X, results in a frency of half baken "works for me" patches,
> > completely unreviewed inside of the organization and let lose on the
> > maintainers/reviewers who are burdened to educate the submitters.
> 
> While I do think that problem exists, I don't think the presence or
> absence of commit statistics particularly motivate it.  Either way,
> you'll have random driver/patch submissions motivated by "I need to ship
> a product" or "entity X made it a requirement to get my driver
> upstream".

I suspect, but cannot prove, it is somewhat driven by the patch
statistics.  I know in Parallels, I track features accepted into the
kernel, not patches, but we do have a patch metric as well for people
who do incidental bug fixing as they push features, so we're not 100%
pure on this.

When I recently gave a comparison of OpenStack and the Kernel, one thing
that stood out starkly was that they just don't have our volume of one
line, one patch per file hundreds of times and trivial changes, so we
definitely have a problem in this area.

The reason OpenStack has so few trivial and multiply split patches is
mostly grounded in the difficulty of submitting a patch to their tree.
Just preparing it for gerrit takes a long time (around ten minutes per
patch), which really reduces the volume of trivial patches, just because
no-one has that much energy (although some would argue it reduces the
volume too far).

It's human nature to spend more time on the easy problems, so a flood of
trivial patches which are "obviously" correct is easier to review and
include than one patch which alters something deep within mm and needs
careful thought.  At best, excessively split trivial patches are a
dilution of our review effort and at worst, they're actively sucking
people away from tackling the hard problems.

> > That's the real issue. And this needs to be fixed first.
> > 
> > I really started to put breaks into this cycle of hell, where I get
> > spammed with a 30+ patch series in the morning and after I spent some
> > quality time looking at it and replying to a particular patch, I get
> > another spam bomb within a few hours, which is not much better than
> > the previous one.
> 
> That's definitely a good workflow question.  We tell people to break
> huge patches down into pieces, and that can turn substantial changes
> into long patch series.  Which of the following is your primary concern:
> 
> - That people update the patch series before you're done submitting
>   feedback on it?  That does seem like an annoying problem, and I
>   haven't seen anyone explicitly talk about it; we should document it,
>   and develop some standard boilerplate saying "If you get feedback on
>   patch 04/25, don't send out v2 of the whole series until you get the
>   remaining feedback on the patches".  And until users are reasonably
>   educated on that problem, frequent reviewers may want to include that
>   boilerplate in their patch reviews.
> 
> - That people send patch series with too many problems, and you're
>   frustrated having to educate them on a dozen fundamental problems
>   (formatting, standard API usage, etc) rather than just what's specific
>   to your subsystem?  It seems completely reasonable to remind people of
>   the standard tools, improve those standard tools as needed, and
>   ideally set up more automation to run those tools before patches hit
>   reviewers.  You shouldn't need to waste your time reviewing patches
>   that don't build, for instance.
> 
> - That a 30-patch series is painful to review via email?  Agreed
>   completely; I think we need better git-based workflows that don't
>   always have to fall back to the least-common-denominator of patchbomb
>   threads.

This is a taste question.  I really appreciate a well split patch series
tackling a hard problem because it makes working out what changed and
why a lot easier than in a single monolith ... and as a reviewer, that's
gold dust.  I don't appreciate 30 patches changing the same thing in 30
different files.

I see a lot of patches generated by semantic patch scripts (once per
file)  where we add a pattern to the kernel for something (say replacing
kmalloc followed by memset with kzalloc) and people immediately use
semantic patching to change the other thousand places in the kernel
where this pattern was used ... regardless of whether the use they're
changing was correct or not.

I think for the pattern case, we have to agree when adding the pattern
whether it's useful or essential, and in the latter case do a big bang
change if we agree it's so essential that all current uses must change
so as not to have bad pattern examples.


James

  parent reply	other threads:[~2014-05-29  6:13 UTC|newest]

Thread overview: 166+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-24  9:53 James Bottomley
2014-05-24 11:19 ` Wolfram Sang
2014-05-24 19:18   ` Guenter Roeck
2014-05-25  4:56     ` NeilBrown
2014-05-25  4:57     ` James Bottomley
2014-05-26 15:41       ` Guenter Roeck
2014-05-30 16:05         ` mark gross
2014-05-30 16:45           ` Guenter Roeck
2014-06-01 14:05           ` Wolfram Sang
2014-05-25  8:59     ` Wolfram Sang
2014-05-26 12:23       ` Rafael J. Wysocki
2014-05-26 12:52         ` Wolfram Sang
2014-05-27 17:27   ` Lukáš Czerner
2014-05-27 22:57     ` Rafael J. Wysocki
2014-05-27 22:43       ` Andy Lutomirski
2014-05-27 23:09         ` Rafael J. Wysocki
2014-05-28 14:26       ` Daniel Vetter
2014-05-28 14:32         ` Dan Carpenter
2014-05-28 14:39           ` Daniel Vetter
2014-05-28 16:39             ` Mark Brown
2014-05-28 16:51               ` Mimi Zohar
2014-05-28 17:35                 ` Mark Brown
2014-05-28 17:44                   ` Luck, Tony
2014-05-28 18:38                     ` Mark Brown
2014-05-28 21:32                       ` Thomas Gleixner
2014-05-29  9:28                         ` Li Zefan
2014-05-29 17:41                           ` Greg KH
2014-05-30  2:41                             ` Li Zefan
2014-05-30 17:28                             ` Paul E. McKenney
2014-05-30 23:40                               ` Greg KH
2014-05-31 16:49                                 ` Geert Uytterhoeven
2014-06-01  8:36                                   ` Takashi Iwai
2014-05-31 23:30                               ` Randy Dunlap
2014-05-29 18:43                         ` Steven Rostedt
2014-05-28 22:48               ` Daniel Vetter
2014-05-28 23:17                 ` Laurent Pinchart
2014-05-29 18:45                   ` Steven Rostedt
2014-05-29  7:35             ` Dan Carpenter
2014-05-28 16:05         ` Guenter Roeck
2014-05-28 16:37           ` Mimi Zohar
2014-05-28 16:50             ` Guenter Roeck
2014-05-28 16:20         ` Mimi Zohar
2014-05-28 16:28           ` Josh Triplett
2014-05-28 17:05             ` Jonathan Corbet
2014-05-28 21:59             ` Thomas Gleixner
2014-05-28 23:31               ` josh
2014-05-28 23:55                 ` Thomas Gleixner
2014-05-29  0:39                 ` Mimi Zohar
2014-05-29  0:47                   ` Randy Dunlap
2014-05-29  0:52                     ` Mimi Zohar
2014-05-29  6:13                 ` James Bottomley [this message]
2014-05-29 18:58                   ` Steven Rostedt
2014-05-29 23:34                   ` Greg KH
2014-05-30  2:23                     ` Li Zefan
2014-05-30  4:26                     ` James Bottomley
2014-05-30  5:02                       ` Greg KH
2014-05-30  5:33                         ` James Bottomley
2014-05-30 14:14                           ` John W. Linville
2014-05-30 16:40                           ` Theodore Ts'o
2014-05-30 16:43                             ` Theodore Ts'o
2014-05-30 16:56                           ` [Ksummit-discuss] More productive uses of enthusiastic new kernel developers (was: Re: [TOPIC] Encouraging more reviewers) Theodore Ts'o
2014-05-30 19:54                             ` Shuah Khan
2014-06-02 12:00                               ` Jason Cooper
2014-05-30 20:50                             ` David Woodhouse
2014-05-31  1:44                             ` [Ksummit-discuss] More productive uses of enthusiastic new kernel developers Li Zefan
2014-05-31  1:54                               ` Guenter Roeck
2014-05-31  2:21                                 ` Theodore Ts'o
2014-05-31 22:53                                   ` Rafael J. Wysocki
2014-05-31  2:07                               ` Theodore Ts'o
2014-05-31  3:52                                 ` Greg KH
2014-05-31  4:08                                   ` Guenter Roeck
2014-05-30 23:47                           ` [Ksummit-discuss] [TOPIC] Encouraging more reviewers Greg KH
2014-05-30 11:17                       ` Dan Carpenter
2014-05-31 21:05                         ` Dan Carpenter
2014-05-29 10:31                 ` Daniel Vetter
2014-05-29 18:36                   ` Greg KH
2014-05-29 15:32                 ` Luck, Tony
2014-05-28  5:37     ` Wolfram Sang
2014-05-28 10:06       ` Lukáš Czerner
2014-05-28 13:57         ` Wolfram Sang
2014-05-24 14:24 ` Dan Williams
2014-05-26 12:31   ` Rafael J. Wysocki
2014-05-24 15:50 ` Trond Myklebust
2014-05-24 17:31   ` James Bottomley
2014-05-25  4:15     ` Bjorn Helgaas
2014-05-26 12:38       ` Rafael J. Wysocki
2014-05-27 18:21     ` H. Peter Anvin
2014-05-25  4:17 ` Stephen Rothwell
2014-05-25  8:53   ` Geert Uytterhoeven
2014-05-25  9:11     ` Stephen Rothwell
2014-05-27  8:16     ` Li Zefan
2014-05-25  9:09   ` Wolfram Sang
2014-05-25 22:29 ` Dan Carpenter
2014-05-26 15:53   ` James Bottomley
2014-05-27 14:39     ` Jiri Kosina
2014-05-27 20:53       ` James Bottomley
2014-05-27 21:22         ` Jiri Kosina
2014-05-28  0:10           ` Martin K. Petersen
2014-05-28  0:30             ` Greg KH
2014-05-28 23:25             ` Dan Williams
2014-05-28 23:32               ` Jiri Kosina
2014-05-28 23:47                 ` Dan Williams
2014-05-29  4:01               ` Martin K. Petersen
2014-05-29  5:17                 ` Dan Williams
2014-05-29 23:56                   ` Martin K. Petersen
2014-05-29 23:59                     ` Dan Williams
2014-05-28 23:33             ` Rafael J. Wysocki
2014-05-29  0:35             ` Ben Hutchings
2014-05-29  4:36               ` Martin K. Petersen
2014-05-29 16:46               ` Mark Brown
2014-05-29 21:57                 ` Frank Rowand
2014-05-29 23:12                   ` Mark Brown
2014-05-28  1:10           ` NeilBrown
2014-05-28  5:11           ` James Bottomley
2014-05-26 12:17 ` Rafael J. Wysocki
2014-05-28 18:47 ` Paul Walmsley
2014-05-28 20:15   ` josh
2014-05-29  2:15   ` Rob Herring
2014-05-29  3:34     ` Olof Johansson
2014-05-30  0:52       ` Paul Walmsley
2014-05-29  8:39     ` Jonathan Cameron
2014-05-30  0:47     ` Paul Walmsley
2014-05-30  0:51     ` Paul Walmsley
2014-05-28 18:48 ` [Ksummit-discuss] Reforming Acked-by (was Re: [TOPIC] Encouraging more reviewers) Paul Walmsley
2014-05-28 19:11   ` Mimi Zohar
2014-05-28 19:15     ` John W. Linville
2014-05-28 19:51       ` Mimi Zohar
2014-05-30 14:59       ` Steven Rostedt
2014-05-30 15:10         ` John W. Linville
2014-05-30 21:10           ` James Bottomley
2014-05-30 21:30             ` Steven Rostedt
2014-06-02  2:43             ` Randy Dunlap
2014-06-02  2:53               ` NeilBrown
2014-06-02  3:01                 ` Randy Dunlap
2014-05-28 19:49   ` Guenter Roeck
2014-05-28 20:12   ` josh
2014-05-28 20:22     ` Dmitry Torokhov
2014-05-28 23:02       ` Laurent Pinchart
2014-05-28 23:18         ` Dmitry Torokhov
2014-05-28 23:29           ` Laurent Pinchart
2014-05-29 14:44             ` Christoph Lameter
2014-05-29 14:59               ` Laurent Pinchart
2014-05-29 16:33                 ` Christoph Lameter
2014-05-30 10:58                   ` Laurent Pinchart
2014-05-29 15:58   ` H. Peter Anvin
2014-05-29 18:27   ` Theodore Ts'o
2014-05-29 21:03     ` Rafael J. Wysocki
2014-05-29 21:03       ` Olof Johansson
2014-05-29 23:30         ` Greg KH
2014-05-30  1:12           ` Paul Walmsley
2014-05-30  5:04             ` Greg KH
2014-05-30  5:39               ` James Bottomley
2014-05-30 11:30                 ` Daniel Vetter
2014-05-30 23:39                 ` Greg KH
2014-05-30 10:08           ` Lukáš Czerner
2014-05-30 13:07             ` Jan Kara
2014-05-30 13:41               ` Lukáš Czerner
2014-05-30 15:22               ` Steven Rostedt
2014-05-31  1:30                 ` Li Zefan
2014-05-30 14:34           ` John W. Linville
2014-05-30  0:55         ` Paul Walmsley
2014-05-30 15:17         ` Steven Rostedt
2014-05-30 15:06       ` Steven Rostedt
2014-05-30 21:26         ` Rafael J. Wysocki
2014-05-30 21:29           ` Steven Rostedt
2014-05-30 22:16             ` Rafael J. Wysocki

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=1401344001.27691.4.camel@dabdike \
    --to=james.bottomley@hansenpartnership.com \
    --cc=josh@joshtriplett.org \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    /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