ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [Ksummit-discuss] [CORE TOPIC] [nomination] Move Fast and Oops Things
@ 2014-05-15 23:13 Dan Williams
  2014-05-16  2:56 ` NeilBrown
  0 siblings, 1 reply; 38+ messages in thread
From: Dan Williams @ 2014-05-15 23:13 UTC (permalink / raw)
  To: ksummit-discuss; +Cc: Dan J Williams

What would it take and would we even consider moving 2x faster than we
are now?  A cursory glance at Facebook's development statistics [1]
shows them handling more developers, more commits, and a higher rate
of code growth than kernel.org [2].  As mentioned in their development
process presentation, "tools" and "culture" enable such a pace of
development without the project flying apart.  Assuming the response
to the initial question is not "we're moving fast enough, thank you
very much, go away", what would help us move faster?  I submit that
there are three topics in this space that have aspects which can only
be productively discussed in a forum like kernel summit:

1/ Merge Karma: Collect patch review and velocity data for a
maintainer to answer questions like "am I pushing too much risk
upstream?", "from cycle to cycle am I maintaining a consistent
velocity?", "should I modulate the scope of the review feedback I
trust?".  I think where proposals like this have fallen over in the
past was with the thought that this data could be used as a weapon by
toxic contributors, or used to injure someone's reputation.  Instead
this would be collected consistently (individually?), for private use
and shared in a limited fashion at forums like kernel summit to have
data to drive "how are we doing as a community?" discussions.

2/ Gatekeeper: Saying "no" is how we as a kernel community mitigate
risk and it is healthy for us to say "no" early and often.  However,
the only real dimension we currently have to say "no" is "no, I won't
merge your code".  The staging-tree opened up a way to give a
qualified "no" by allowing new drivers a sandbox to get in shape for
moving into the kernel-tree-proper while still being available to end
users.  The idea with a Facebook-inspired Gatekeeper system is to have
another way to say "no" while still merging code.  Consider a facility
more fine-grained than the recently deprecated CONFIG_EXPERIMENTAL,
and add run-time modification capability.  Similar to loading a
staging driver, overriding a Gatkeeper-variable (i.e. where a
maintainer has explicitly said "no") taints the kernel.  This then
becomes a tool for those situations where there is value / need in
distributing the code, while still saying "no" to its acceptability in
its current state.

3/ LKP and Testing:  If there was a generic way for tools like LKP to
discover and run per-subsystem / driver unit tests I am fairly
confident LKP would already be sending the community test results. LKP
is the closest we have to Facebook-Perflab (automated regression
testing environment), and it's one of the best tools we have for
moving development faster without increasing risk in the code we
deliver.  Has the time come for a coordinated unit-test culture in
Linux kernel development?

This topic proposal is a self-nomination (dan.j.williams@intel.com)
for attending Kernel Summit, and I also nominate Fengguang Wu
(fengguang.wu@intel.com) to participate in any discussions that
involve LKP.

[1]: http://www.infoq.com/presentations/Facebook-Release-Process
[2]: http://www.linuxfoundation.org/publications/linux-foundation/who-writes-linux-2013

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2014-05-24 19:19 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-15 23:13 [Ksummit-discuss] [CORE TOPIC] [nomination] Move Fast and Oops Things Dan Williams
2014-05-16  2:56 ` NeilBrown
2014-05-16 15:04   ` Chris Mason
2014-05-16 17:09     ` Andy Grover
2014-05-23  8:11       ` Dan Carpenter
2014-05-16 18:31     ` Randy Dunlap
2014-05-21  7:48     ` Dan Williams
2014-05-21  7:55       ` Greg KH
2014-05-21  9:05         ` Matt Fleming
2014-05-21 12:52           ` Greg KH
2014-05-21 13:23             ` Matt Fleming
2014-05-21  8:25       ` NeilBrown
2014-05-21  8:36         ` Dan Williams
2014-05-21  8:53           ` Matt Fleming
2014-05-21 10:11           ` NeilBrown
2014-05-21 15:35             ` Dan Williams
2014-05-21 23:06               ` Rafael J. Wysocki
2014-05-21 23:03                 ` Dan Williams
2014-05-21 23:40                   ` Laurent Pinchart
2014-05-22  0:10                   ` Rafael J. Wysocki
2014-05-22 15:48                   ` Theodore Ts'o
2014-05-22 16:31                     ` Dan Williams
2014-05-22 17:38                       ` Theodore Ts'o
2014-05-22 18:42                       ` Dan Williams
2014-05-22 19:06                         ` Chris Mason
2014-05-22 20:31                       ` Dan Carpenter
2014-05-22 20:56                         ` Geert Uytterhoeven
2014-05-23  6:21                           ` James Bottomley
2014-05-23 14:11                             ` John W. Linville
2014-05-24  9:14                               ` James Bottomley
2014-05-24 19:19                                 ` Geert Uytterhoeven
2014-05-23  2:13                       ` Greg KH
2014-05-23  3:03                         ` Dan Williams
2014-05-23  7:44                           ` Greg KH
2014-05-23 14:02                         ` Josh Boyer
2014-05-21 23:48               ` NeilBrown
2014-05-22  4:04                 ` Dan Williams
2014-05-21  7:22   ` Dan Williams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox