ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: ksummit <ksummit-discuss@lists.linuxfoundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: [Ksummit-discuss] Fwd: [MAINTAINER SUMMIT] community management/subsystem governance
Date: Mon, 10 Sep 2018 18:29:35 +0200	[thread overview]
Message-ID: <CAKMK7uFYBthvmHOUMnSbbfn7O=EcU0krB-bzgMEHxDn1eE=h8A@mail.gmail.com> (raw)
In-Reply-To: <CA+55aFyCdGstDu2u11veh3YxabpQrfaPEzuZB2x=eRXpw89prA@mail.gmail.com>

On Mon, Sep 10, 2018 at 4:53 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Sun, Sep 9, 2018 at 10:59 PM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>>
>> I think for pratical reasons (the linux kernel is huge) focusing on
>> subsystems is more useful, at least in the short term. Much easier to
>> experiment with new things in smaller groups.
>
> I think that realistically, it's never going to be anything *but*
> subsystem-specific, not just because the kernel is huge.
>
> There are simply often very different concerns.
>
> An individual filesystem can be a big project, and people work on
> filesystems for decades. They can get quite complex indeed. But at the
> same time, an individual filesystem just doesn't tend to *impact*
> other things. Sure, we may end up adding features to the VM or the VFS
> layer to make it possible for it to do some particular thing, and we
> may end up having lots of common code that a lot of filesystems end up
> sharing, but in a very real sense, it is its own _mostly_ independent
> thing, and what happens inside the community for that filesystem
> doesn't tend to much affect anybody else.
>
> Same goes for a lot of drivers. Yes, they have connections to the
> outside, but what happens in one driver seldom affects anything else.
>
> Equally importantly, filesystem changes can generally be tested with a
> fairly targeted test-suite. When you make changes to one filesystem,
> you need to test only _that_ filesystem.
>
> The same _tends_ to be true for drivers too, although there testing
> can be "interesting" because of the hardware dependency - a single
> driver often covers a few tens (to a few hundred) different hardware
> implementations. But the changes still don't tend to affect *other*
> devices.
>
> But things change once you start going up from individual filesystems
> or drivers to a common layer. Making changes to a common layer is
> simply _fundamentally_ way more painful. Sure, part of the pain is
> that now you have to convert all the filesystems or drivers that
> depended on that common layer to the new changes, but a large part is
> simply that now the changes affect many different kinds of filesystems
> or drivers, and testing is *much* harder.
>
> You obviously see that with the whole drm layer (example: atomic
> modesetting). That's still a fairly small set of different drivers
> (small in number, not in code-size), and it already causes issues.
>
> At the other end of the spectrum, some of the most painful changes
> we've ever done have basically gone across *all* drivers, and caused
> untold bugs for the better part of a decade. I'm thinking of all the
> power management work we did back ten+ years ago.
>
> The VM people (and some other groups - the scheduler comes to mind)
> have had a different kind of issue entirely: not that the kernel has
> tons of "sub-drivers" that depend on them - although that obviously is
> true in a very real sense for any memory allocator etc - but simply
> that there are lots of different loads. In a filesystem or a driver,
> you can have a test-suite for correct behavior, but the behavior is
> largely the same. When it comes to VM or scheduler, the problem is
> that you have different loads, and performing well on one load does
> not mean at all that you do well on another.
>
> We had a few years when people were pushing scheduler rchanges without
> really appreciating that "your load isn't everybody elses load" issue.
>
> In contrast, in drivers and filesystems, things are usually more
> black-and-white wrt "does this work well".  Yes, yes, you have latency
> vs throughput issues etc, and you might have some scalability issues
> with per-cpu queues etc, but at the individual driver level, those
> kinds of concerns tend to not dominate. You want a stress-test setup
> for testing, but you don't need to worry too much about lots of crazy
> users.
>
> So different areas of the kernel just tend to have different concerns.
> You can allow people to work more freely on a driver that doesn't
> affect other things than on something that possibly screws over a lot
> of other developers.
>
> But if we find "models that work", maybe we can at least have
> processes that look a bit more like each other, even across
> subsystems.

Yeah, fully agreed, I think this is the kernel community's real
strength. It's one overall project on one hand, everyone pushes into
the exact same directory structure with one overall git history (in
the end at least, once something has made it to upstream). But zooming
in, it's very much just a loosely-coupled pile of associated projects;
each can optimize for their local constraints. HW testing and hacking
is indeed totally different from core work that affects everyone.

This also ties somewhat into the gitlab discussions: github doesn't
support this model, and isn't interested in fixing this. gitlab at
least has made some foundational work in their internals already (how
they handle the fork tree mostly, since that's the big one), and
they're interested in exploring how to support something like the
kernel's git tree flow at a higher level, in their web UI. I wrote
this entire thing up semi-coherently a while ago on my blog:
https://blog.ffwll.ch/2017/08/github-why-cant-host-the-kernel.html

>> That's why I added
>> "subsystem governance". If there's enough interest on specific topics
>> we could schedule some BOF sessions, otherwise just hallway track with
>> interested parties.
>
> So what I think would be good is to not talk about some nebulous
> "community management", but talk about very specific and very real
> examples of actual technical problems.
>
> Partly exactly *because* I think the areas are not all the same, and
> the friction points are likely *between* these areas that may even
> have really good reasons to act differently, and mostly they are
> independent and have little interaction, but then when interaction
> happens, things don't work well.
>
> IOW, if we have the top-level maintainers around, we should have a
> gripe-fest where people come in and say "Hey, you, look, this
> *particular* problem has been around for a year now, there's a patch,
> why did it not get applied"?
>
> Don't make it about some nebulous "we could do better as a community".
>
> Instead, make it about some very *particular* issue where the process
> failed. Make it something concrete and practical.
>
>    "Look, this patch took a year to get in, for no good reason".
>
> Or
>
>   "Look, here's a feature that I *tried* to get accepted for a month,
> nothing happened, so I gave up".
>
> And if we have a few of those, maybe we can see a pattern, and perhaps
> even come up with some suggestion on how to fix some flow.
>
> And if people can't come up with particular examples, I don't think
> it's much worth discussing. At that point it's not productive.
>
> We need to name names, show patches, and talk about exactly where and
> how something broke down.

Yeah, it's much easier to discuss concrete stuff than high-level
abstract concepts. That's why I listed a bunch of specific things I'm
interested in. Mostly that's stuff I'm actively working on in areas
that arent working perfectly in drm. Or at least where things are
painful enough that we're grasping for anything that looks like it
might help.

And if no one cares for a specific topic, then we'll best just throw
it off the agenda instead of having a generic discussion that goes
nowhere.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

  parent reply	other threads:[~2018-09-10 16:29 UTC|newest]

Thread overview: 162+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-10  8:59 [Ksummit-discuss] " Daniel Vetter
2018-09-10 14:53 ` Linus Torvalds
2018-09-10 15:08   ` James Bottomley
2018-09-10 15:10     ` Linus Torvalds
2018-09-10 15:38       ` Sasha Levin
2018-09-10 15:47         ` James Bottomley
2018-09-10 15:55           ` Sasha Levin
2018-09-10 16:13             ` James Bottomley
2018-09-10 16:24               ` Sasha Levin
2018-09-10 17:10                 ` James Bottomley
2018-09-10 15:47         ` Konstantin Ryabitsev
2018-09-10 15:56           ` Sasha Levin
2018-09-10 16:02             ` Konstantin Ryabitsev
2018-09-10 16:07           ` Daniel Vetter
2018-09-10 16:18             ` Konstantin Ryabitsev
2018-09-10 16:23               ` Daniel Vetter
2018-09-10 16:41                 ` Konstantin Ryabitsev
2018-09-10 17:06                   ` Daniel Vetter
2018-09-10 19:48             ` Laurent Pinchart
2018-09-10 20:50               ` Daniel Vetter
2018-09-10 15:49         ` Mark Brown
2018-09-10 16:33         ` Olof Johansson
2018-09-10 19:59           ` Laurent Pinchart
2018-09-10 21:30             ` Josh Triplett
2018-09-10 23:00               ` Laurent Pinchart
2018-09-10 23:16               ` Daniel Vetter
2018-09-11  1:14                 ` Josh Triplett
2018-09-10 15:13     ` Jiri Kosina
2018-09-10 15:20       ` James Bottomley
2018-09-10 15:31       ` Sasha Levin
2018-09-10 20:15       ` Laurent Pinchart
2018-09-10 21:09         ` Sean Paul
2018-09-10 21:38           ` Laurent Pinchart
2018-09-11 10:06             ` Leon Romanovsky
2018-09-11  8:44         ` Jani Nikula
2018-09-11  9:08           ` Geert Uytterhoeven
2018-09-11 10:01             ` Daniel Vetter
2018-09-11 10:09               ` Geert Uytterhoeven
2018-09-11 10:17                 ` Daniel Vetter
2018-09-11 10:30                   ` Geert Uytterhoeven
2018-09-11  8:41       ` Jani Nikula
2018-09-10 15:31   ` Daniel Vetter
2018-09-10 16:39     ` Olof Johansson
2018-09-10 17:10       ` Daniel Vetter
2018-09-12 19:02         ` Darren Hart
2018-09-12 18:59     ` Darren Hart
2018-09-12 20:05       ` Daniel Vetter
2018-09-12 20:58         ` Darren Hart
2018-09-13 11:27         ` Mark Brown
2018-09-13 11:41           ` Daniel Vetter
2018-09-13 17:08             ` Darren Hart
2018-09-13  2:56     ` Theodore Y. Ts'o
2018-09-13  5:17       ` Daniel Vetter
2018-09-10 15:56   ` Daniel Vetter
2018-09-10 20:32     ` Laurent Pinchart
2018-09-10 20:55       ` Daniel Vetter
2018-09-10 21:33         ` Laurent Pinchart
2018-09-10 22:44           ` Daniel Vetter
2018-09-11 12:44             ` Alexandre Belloni
2018-09-11 14:35               ` Mark Brown
2018-09-11 15:17                 ` Alexandre Belloni
2018-09-11 15:02               ` Daniel Vetter
2018-09-11 22:00                 ` Alexandre Belloni
2018-09-11 22:17                   ` Guenter Roeck
2018-09-12  8:42                   ` Jani Nikula
2018-09-12 18:45                     ` Alexandre Belloni
2018-09-12 19:52                       ` Dave Airlie
2018-09-12 22:25                       ` Daniel Vetter
2018-09-12  9:14                 ` Linus Walleij
2018-09-12 18:23                   ` Alexandre Belloni
2018-09-12 18:44                     ` Thomas Gleixner
2018-09-13 12:08                       ` Maxime Ripard
2018-09-13 12:57                         ` Alexandre Belloni
2018-09-13 13:18                           ` Maxime Ripard
2018-09-13 14:25                           ` Jani Nikula
2018-09-13 20:05                             ` Thomas Gleixner
2018-09-13 23:02                               ` Rodrigo Vivi
2018-09-14  6:47                                 ` Rafael J. Wysocki
2018-09-14  6:39                               ` Dave Airlie
2018-09-14 14:15                                 ` Thomas Gleixner
2018-09-17  7:40                                   ` Daniel Vetter
2018-09-14  7:08                         ` Linus Walleij
2018-09-14  7:39                           ` Geert Uytterhoeven
2018-09-14  8:08                             ` Linus Walleij
2018-09-12 21:21                     ` Linus Walleij
2018-09-21 16:05                 ` Joe Perches
2018-09-12 22:44             ` Laurent Pinchart
2018-09-10 22:56           ` Laurent Pinchart
2018-09-10 21:11       ` Theodore Y. Ts'o
2018-09-10 23:05         ` Laurent Pinchart
2018-09-17 11:43           ` Mauro Carvalho Chehab
2018-09-17 12:03             ` Geert Uytterhoeven
2018-09-17 13:04               ` Mauro Carvalho Chehab
2018-09-17 13:10                 ` Julia Lawall
2018-09-17 13:29                   ` Christoph Hellwig
2018-09-17 13:48                     ` Laurent Pinchart
2018-09-17 13:58                     ` Mauro Carvalho Chehab
2018-09-17 14:18                       ` Christoph Hellwig
2018-09-17 14:50                         ` Geert Uytterhoeven
2018-09-17 15:21                           ` Mauro Carvalho Chehab
2018-09-17 14:18                       ` Laurent Pinchart
2018-09-17 16:50                       ` Joe Perches
2018-09-17 14:14                 ` Laurent Pinchart
2018-09-17 14:59                   ` Mauro Carvalho Chehab
2018-09-17 22:39                     ` Dave Airlie
2018-09-17 23:04                       ` James Bottomley
2018-09-18  8:00                         ` Daniel Vetter
2018-09-18 11:16                           ` James Bottomley
2018-09-18 15:26                             ` Randy Dunlap
2018-09-18 16:47                             ` Tim.Bird
2018-09-18 16:59                               ` Konstantin Ryabitsev
2018-09-18 17:08                                 ` Tim.Bird
2018-09-18 17:12                                   ` Tim.Bird
2018-09-18 17:31                                   ` Konstantin Ryabitsev
2018-09-18 17:42                                     ` Tim.Bird
2018-09-18 17:55                                       ` Konstantin Ryabitsev
2018-09-18 18:58                                         ` Tim.Bird
2018-09-18 19:24                                           ` Konstantin Ryabitsev
2018-09-18 17:47                                     ` Geert Uytterhoeven
2018-09-18 17:49                                     ` Greg KH
2018-09-18 18:03                                       ` Konstantin Ryabitsev
2018-09-18 22:46                                         ` Alexandre Belloni
2018-09-18 18:22                                       ` Dmitry Torokhov
2018-09-18 19:16                                         ` Theodore Y. Ts'o
2018-09-18 18:56                                       ` Sasha Levin
2018-09-18 23:05                                     ` Laurent Pinchart
2018-09-18  7:37                       ` Nicolas Ferre
2018-09-18  7:47                         ` Geert Uytterhoeven
2018-09-18 10:38                       ` Laurent Pinchart
2018-09-18 16:02                         ` Mark Brown
2018-09-18 16:32                           ` Luck, Tony
2018-09-18 16:35                             ` Dmitry Torokhov
2018-09-18 17:18                               ` Linus Torvalds
2018-09-18 17:28                                 ` Sean Paul
2018-09-18 17:37                                 ` Tim.Bird
2018-09-21 16:46                                 ` Olof Johansson
2018-09-21 17:08                                   ` Mauro Carvalho Chehab
2018-09-21 17:16                                     ` Olof Johansson
2018-09-18 17:21                               ` Mark Brown
2018-09-18 21:01                               ` Steven Rostedt
2018-09-18 23:16                                 ` Laurent Pinchart
2018-09-18 23:54                                 ` Mark Brown
2018-09-19  5:27                                   ` Christoph Hellwig
2018-09-19  9:46                               ` James Bottomley
2018-09-18 17:10                             ` Tim.Bird
2018-09-18 20:48                             ` Takashi Iwai
2018-09-18 16:50                           ` David Woodhouse
2018-09-18 17:24                             ` Mark Brown
2018-09-18 19:22                               ` David Woodhouse
2018-09-18 19:30                                 ` Sasha Levin
2018-09-18 19:38                                   ` Josh Triplett
2018-09-18 19:48                                   ` David Woodhouse
2018-09-18  8:24                     ` Eric W. Biederman
2018-09-17 13:12             ` Christoph Hellwig
2018-09-17 14:14               ` Mauro Carvalho Chehab
2018-09-17 21:59               ` Rafael J. Wysocki
2018-09-17 22:17                 ` Rafael J. Wysocki
2018-09-10 21:19       ` Konstantin Ryabitsev
2018-09-11  8:33         ` Rafael J. Wysocki
2018-09-10 16:29   ` Daniel Vetter [this message]
2018-09-11 15:35   ` Jiri Kosina
2018-09-17 11:11   ` [Ksummit-discuss] [MAINTAINER SUMMIT] Live without email - possible? - Was: " Mauro Carvalho Chehab

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='CAKMK7uFYBthvmHOUMnSbbfn7O=EcU0krB-bzgMEHxDn1eE=h8A@mail.gmail.com' \
    --to=daniel.vetter@ffwll.ch \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=torvalds@linux-foundation.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