From: Liviu Dudau <liviu@dudau.co.uk>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
Liviu Dudau <Liviu.Dudau@arm.com>,
dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: RFC: drm-misc for small drivers?
Date: Thu, 26 Jan 2017 20:54:38 +0000 [thread overview]
Message-ID: <20170126205438.GB899@bart.dudau.co.uk> (raw)
In-Reply-To: <20170126195725.b6jkwsdirutakbwj@phenom.ffwll.local>
On Thu, Jan 26, 2017 at 08:57:25PM +0100, Daniel Vetter wrote:
> Hi Liviu
>
> On Thu, Jan 26, 2017 at 05:42:12PM +0000, Liviu Dudau wrote:
> > On Thu, Jan 26, 2017 at 06:08:42PM +0100, Daniel Vetter wrote:
> > > We've discussed this a bit at LCA (with Dave and Eric), and it's
> > > probably best if I just summarize all the questions and opens and
> > > throw them out here for discussions:
> > >
> > > - When's a driver small enough for a shared tree, and when is a
> > > separate tree a good idea? i915 and amdgpu are definitely big, and
> > > there's definitely drivers who are really small and in-between it's
> > > unclear. Personally I think this is easy to do with a sliding scale,
> > > with using topic branches (we can do them in drm-misc easily) for
> > > bigger stuff, and if that's a common thing, split out the driver
> > > (thanks to the drm-tip integration tree there's not much of a
> > > difference in handling conflicts due to that anyway).
> >
> > IMO the criteria should be based on the number of people involved in
> > each driver that have commit rights. The size of the driver should not
> > matter. There can be only one person working on a large and established
> > code base and be easy to handle with a topic branch in drm-misc, while
> > having a small (because it is new) driver that 3-5 people can all commit
> > into leads to a different dynamic. I'm interested on what are your (and
> > others) thoughts on the process for this.
>
> Hm, good point. Otoh we have 15 committers (and a lot more people) working
> on i915 in one tree, so a pile of people in one place isn't all that much
> of a reason to split it out I think. And drm-misc is still rather small,
> so 3-5 folks here and there won't matter.
>
> For a new driver the topic branch would just be the initial pull request I
> think, assuming that afterwards the patch rate goes down a lot. If it keeps
> high (10+ patches per week or so), then better to have a separate tree
> from the start imo. I think patch rate is probably the best measure for
> whether a driver is small or big, not code size and maybe also not team
> size (since even if there's a bunch of people there's a big difference
> between dedicated to upstream or also absorbed with product and customer
> support).
Yes, I think patch rate is a better metric. I was using number of people as
a proxy for that for no good reason.
>
> > > - Should it be an entire separate tree for soc drivers? Problem here
> > > is that we lack a volunteer group (and imo it really should be a group
> > > to avoid the single-maintainer troubles) to run that. I think it's
> > > easier to proof the process first, and if we want a separate tree,
> > > split that out later on. This is the same thing we've done with
> > > drm-misc, first with a topic branch in drm-intel.git, then separate. I
> > > think it worked really well.
> >
> > Hmm, are we mixing here GPU drivers with display ones, like we do on
> > the #dri-devel IRC channel? Because different people are going to have
> > different interests (obviously).
>
> Yup, this is for the drm subsystem overall. For process issues like these,
> why would display be different from rendering?
Fair enough.
>
> > > - Should we require review or at least acks for patches committed by
> > > the author? We have a bunch of drivers with effectively just 1 person
> > > working on it, where getting real review is hard. But otoh a few of
> > > those 1-person drivers will become popular, and then it's good to
> > > start with establishing peer-review early on. I also think that
> > > requiring peer-review is good to share best practices and knowledge
> > > between different people in our community, not just to make sure the
> > > code is correct. For all these reasons I'm leaning towards not making
> > > an exception for drivers, and requiring the same amount of review for
> > > them if they go in through drm-misc as for any other patch.
> >
> > I think it depends on the responsiveness of that driver maintainer. IF
> > we are happy with people making mistakes and fixing them quickly, then
> > we can be more lax on the review. I would personally like (or expect)
> > that at least the people sending pull request for drm-misc that includes
> > that driver do a quick review of the code because they know it is only
> > one person working on it.
>
> The point here is to train maintainers on peer-reviewing their own stuff,
> instead of getting way to used with just being able to do whatever they
> want. So process, not code quality. In short, it's all about the topics I
> raised in my lca talk and establishing group maintainership models as the
> norm. Link: http://blog.ffwll.ch/2017/01/maintainers-dont-scale.html
Sorry, I still need to go and read it, got a glimpse on LWN about it. Will do it
tonight.
>
> > > - Who's elligible? I think we could start small with a few volunteers
> > > and their drivers, and then anyone who's willing.
> >
> > I am not volunteering not excusing me from this, I would like more details
> > on the process before making a decision.
>
> Current drm-misc process documentation:
>
> https://01.org/linuxgraphics/gfx-docs/maintainer-tools/drm-misc.html
>
> > > - Should we force new submissions to be managed in that shared treee?
> > > I think for initial submission a separate pull request for
> > > approval-by-Dave is good (but we could do that with topic branches
> > > too). And it's also way too early to tell, probably better to first
> > > figure out how well this goes.
> > >
> > > - CI, needed? It would be great, but we're not there yet :( Atm
> > > drm-misc just has a bunch of defconfigs that need to always compile,
> > > and that's it. Long term I definitely want more, but we're just not
> > > there yet. And it's a problem in general for drm-misc.
> >
> > +1
> >
> > >
> > > - dim scripts. Since we don't have a github flow where we can
> > > reasonably automate stuff on the server side we need something to
> > > automate on the client side. Thus far almost everyone seemed ok with
> > > the scripting that's used to drive drm-misc/intel/tip, but we can
> > > always improve things. And long term we can rework the approach
> > > however we want to really.
> >
> > Can you be more specific on who "everyone" is? I haven't used any of the
> > scripts from drm-misc/intel/tip.
>
> The tooling also has docs:
>
> https://01.org/linuxgraphics/gfx-docs/maintainer-tools/dim.html
>
> > > - Other stuff I've missed?
> >
> > Suggestions on how we address the ordering of pulls? If we depend in a
> > drivers in drm-misc on a change making it into Dave's tree, how will that
> > work?
>
> This really is about drivers where having a separate tree/branch doesn't
> make much sense because they're really small, and separate trees/branches
> cause more coordination overhead. Note that "small" is rather relative,
> currently we're pushing through 50 patches per week in drm-intel-next and
> it all works well, and drm-misc is a lot smaller than that still so could
> accomodate a _lot_ of the smaller drivers we have easily. Question is
> whether it makes sense.
>
> Otherwise it's the same as with any other cross-tree issue: Either topic
> branch, or backmerge once drm-misc has flown to Dave's tree.
I'm clear on the mechanics, I was looking for more information on how to
trigger the backmerges and the pull requests. If one's driver is in drm-misc
and you need things to step in sync, is it just #dri-devel pings or something
more formal / automated?
Best regards,
Liviu
>
> Cheers, Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-01-26 20:54 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-26 17:08 RFC: drm-misc for small drivers? Daniel Vetter
2017-01-26 17:42 ` Liviu Dudau
2017-01-26 19:12 ` Sean Paul
2017-01-26 20:48 ` Liviu Dudau
2017-01-27 6:55 ` Daniel Vetter
2017-01-27 9:44 ` Liviu Dudau
2017-01-26 19:57 ` Daniel Vetter
2017-01-26 20:54 ` Liviu Dudau [this message]
2017-01-30 9:30 ` Gerd Hoffmann
2017-01-30 9:49 ` Daniel Vetter
2017-01-30 9:53 ` Tomi Sarvela
2017-01-26 19:11 ` Sean Paul
2017-01-27 6:32 ` Daniel Vetter
2017-01-27 16:30 ` Sean Paul
2017-01-26 19:48 ` Eric Anholt
2017-01-27 6:52 ` Daniel Vetter
2017-01-27 16:50 ` Alex Deucher
2017-01-30 8:24 ` Daniel Vetter
2017-01-30 10:15 ` Boris Brezillon
2017-01-31 7:48 ` Daniel Vetter
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=20170126205438.GB899@bart.dudau.co.uk \
--to=liviu@dudau.co.uk \
--cc=Liviu.Dudau@arm.com \
--cc=daniel.vetter@ffwll.ch \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.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