Hi Dave and Daniel,
We had a little mishap this morning when I had pushed a fix for gma500 into drm-misc-fixes without first getting someone to review it. The patch have been on the list for over a month and I don't feel like I have enough karma to force someone to review it. Since I'm the only one actively reviewing gma500 stuff I've effectively locked myself out from submitting patches for the driver. Sure, sometimes others help out and that is ofc appreciated.
As you suggested Daniel, I could trade light-weight reviews with someone else. At first it sounds reasonable but when I think about it it's rather bad. Why should I sell my r-b tags cheap in order to get patches into the driver I'm maintaining? This model seems broken. Doing quick reviews because you trust the author is not a good idea. It defeats the purpose and soils the value of your r-b tag (learned from my own mistakes).
In the case of gma500 I'm exaggerating the problem a bit but others will run into the same issue at some point. So my question is, can we scrap the requirements for an r-b tag in drivers with only one continuously active developer or at least make it more "soft"? Other ideas are welcome.
Cheers Patrik
On Wed, May 24, 2017 at 6:57 PM, Patrik Jakobsson patrik.r.jakobsson@gmail.com wrote:
I had a really long discussion about this topic in private with another maintainer who expressed some unhappiness about the drm-misc review model. Yes it looks a bit silly that you have to trade review, but in the end if you think it's necessary to review other submissions, then imo you also need to get your own patches reviewed or at least sanity-checked.
That's why drm-intel, drm-misc and anything else I'll ever maintain will have a hard&solid rule to never push my own stuff (or anyone else with commit rights) without review. No exceptions.
In my opinion, as a maintainer of a part of the linux kernel your job is to be the steward of the code and contributors/community around it, not be the lord with special priviledges like being able to push unreviewed patches or nacking contributions just because you're the maintainer. And yes, part of the rules behind drm-misc is to make sure that even single-maintainer drivers do collaborate, because with most drivers sooner or later there will be other contributors.
So at least from my side, yes there's an agenda behind this all, and its intentional. It also seems to work reasonable well thus far, since worst case drm-misc maintainers serve as reviewers of last resort.
Thanks, Daniel
Quick clarification.
On Wed, May 24, 2017 at 9:52 PM, Daniel Vetter daniel@ffwll.ch wrote:
That's why we only require an acked-by tag for small drivers, it's not a full review. So can't soil the value of your r-b tags. All the same reasons still apply. -Daniel
On Wed, May 24, 2017 at 9:52 PM, Daniel Vetter daniel@ffwll.ch wrote:
Thanks for replying Daniel.
I agree with your reasoning but we're looking at the problem from two different perspectives. It's not silly to require review per se. My patches also deserves review but the problem is that I cannot count on getting it and I don't think I should be stealing time from others (you included) who's time is better spent elsewhere.
Currently I get to choose between bad (patches without good review) or worse (no patches at all). Unfortunately I cannot pick bad because of the r-b tag requirement. Also, I review gma500 patches because it is expected of me and because I can. Not because I think the quality is worse than mine. I'd love to get reviews back but so far people just drop their patches and run.
That works when dealing with i915 and drm core (and other bigger drivers). You have a decent group of people who are technically qualified with personal and professional incentives to review your patches. It's easy to have high standards when they are not being challenged.
On the gma500 team there's me and a bunch of frustrated users. What I would like to do is to continue shrinking the codebase and fix up the most obvious mistakes to make it more maintainable and let it live a couple of more years. I will likely have some time to do that again soon. Not because it's very important but because it's fun and makes a small group of people happy. Adding a bunch of process to this makes it less fun and reduces my output.
Right now I'm the lord of a mess but with less privileges than the contributors. They at least get their patches reviewed and included. Sounds more like I'm the fool ;)
Sure, I can nack peoples patches but where's the fun in that. Nacking is never the easy choice since it requires justification and thus more work. I certainly don't see it as a privilege.
I understand there's an agenda and it makes sense from a "big drivers" pov. After some thinking, I would prefer the "pull from layers of trust" approach instead of "push through a very tightly tuned process". The layers of trust model also works well (as we all know). If maintainers feel they are getting overwhelmed with work we should look at expanding the subsystem tree instead of inventing new ways to handle things. Perhaps the solution to all of this is to just go back to sending patches for small drivers as pull-requests to you or Dave and let you decide if the sender is trustworthy enough to deserve a signed-off-by.
Either way, I don't want to turn this into a long discussion. If this is the way it needs to work then that is fine by me. Most of the time it works and gma500 is the driver with the smaller userbase and should not make life difficult for the bigger drivers.
Thanks Patrik
On Thu, May 25, 2017 at 1:09 AM, Patrik Jakobsson patrik.r.jakobsson@gmail.com wrote:
Did you ping other drm-misc maintainers on irc? Did you ping Sean/Jani/me as ultim fallback reviewers? Yes sometimes getting that review takes a bit of time, especially if the collaboration hasn't been established yet.
Find another smaller driver in need of some cleanup (we can add more to drm-misc), cross review. Yes it's a bit of work (see above), but at least from the drm subsystem pov the end result will be worth it, since more code sharing and more collaboration gives us a much stronger community.
What I want to achieve is that small drivers together feel&collaborate like a "big driver". Yes you won't have experts on your specific hw, but there's lots of good feedback wrt extracting helper functions into the core, using the existing ones correctly and all the things like that. See e.g. all the work that has happened around the simple helpers from Noralf.
Also, drm-misc is optional, you can go back to sending pull requests to Dave (not to me, I don't handle those) if you think that's easier/better for gma500.
Very much appreciated, with feedback and discussions we can't improve the process for everyone.
Thanks, Daniel
On Fri, 26 May 2017, Daniel Vetter daniel@ffwll.ch wrote:
I think review is extremely important, even for trivial things. Case in point, ITYM s/with/without/. ;)
BR, Jani.
On Fri, May 26, 2017 at 1:42 PM, Jani Nikula jani.nikula@linux.intel.com wrote:
Oops, indeed :-) -Daniel
On Fri, May 26, 2017 at 8:49 AM, Daniel Vetter daniel@ffwll.ch wrote:
I didn't think about the r-b until you actually mentioned it. I figured someone would review it if they felt it was necessary. So the push into misc-fixes without r-b was never intentional.
I'm currently at a conference so I figured I'd ask around. So far, people are reluctant to get their hands dirty in a driver they've never looked at before and don't have hardware to test. From a community perspective, would you agree to require review by AMD for all Intel patches and vice versa (a slight exaggeration, I know)? I'd say that would cripple development of both drivers. There is as you say the a-b tag but I honestly doubt it's useful.
I agree. That's very useful.
I'd like to do what puts the least amount of strain on maintainers. drm-misc scales well for developer but not for maintainers imo. We have a well working model in the kernel. I'd hate to see DRM turn into a special snowflake.
Yes, and I'll find someone to review my upcoming patches and we'll see how it pans out in the gma500 case.
Thanks Patrik
Thanks, Daniel
On Sun, May 28, 2017 at 2:10 PM, Patrik Jakobsson patrik.r.jakobsson@gmail.com wrote:
Small driver = only 1 regular contributor. AMD and intel are anything but small. And yes if I'd maintain a small driver I'd welcome to have a regular exchange with other maintainers to make sure my driver is up to date with drm best practices. Again gma500 is a bit special since it's not moving anymore.
I don't understand your concern here - the traditional kernel model still exists in drm, if you opt to go with that. And being a special snowflake in a large community like the kernel is sometimes necessary, since if everyone always does it the same, then the overall community doesn't learn anymore. Other maintainers/subsystems do things different in other areas.
Yeah, let's see and adjust as we go ...
Cheers, Daniel
On Mon, May 29, 2017 at 8:53 AM, Daniel Vetter daniel@ffwll.ch wrote:
To make it clearer what I meant to say: It's of course better if your reviewer has domain knowledge about your code, but if there's only 1 regular contributor a bit of review is imo still good. As soon as there's a few regular contributors then a review sub-group in drm-misc forms (e.g. like what's happened with bridge drivers, and we documented that in MAINTAINERS). -Daniel
On Mon, May 29, 2017 at 9:35 AM, Daniel Vetter daniel@ffwll.ch wrote:
Yes, a reviewer pool would be a good idea. Not just for drm-misc but for patches on dri-devel in general. Handling of "unsorted" patches with no direct maintainer can be improved.
Basically what I get from this is that we sacrifice some convenience for small drivers on behalf of the bigger ones. I think that's fair during the circumstances. Not optimal, but fair. I'll be using drm-misc for smaller stuff and send larger series as p-r to Dave (with r-b if I can get them). I think that makes most sense from a gma500 pov.
Cheers Patrik
dri-devel@lists.freedesktop.org