Re: [Intel-gfx] The i915 stable patch marking is totally broken

From: Greg KH
Date: Sun Mar 12 2017 - 18:05:15 EST


On Sun, Mar 12, 2017 at 09:46:21PM +0100, Daniel Vetter wrote:
> On Sun, Mar 12, 2017 at 08:44:40PM +0100, Greg KH wrote:
> > Hi Daniel and Jani and other members of the i915-commit-cabal,
> >
> > I've mentioned this a few times to Daniel in the past (like at the last
> > kernel summit), but the way you all are handling the tagging of patches
> > for inclusion in stable kernel releases is totally broken and causing me
> > no end of headaches.
> >
> > It's due to your "you have a branch, you have a branch, you all have a
> > branch!" model of development. You have patches that end up flowing in
> > to Linus's trees multiple times for different releases. Now git is
> > smart enough to handle most of this, and you end up doing a lot of
> > hand-fixing for other merge issues, but when it comes to doing the
> > stable kernel work, none of that means squat. All I get to see is when
> > a patch lands in Linus's tree, and if that patch has a "cc: stable@"
> > marking, then I look at it.
> >
> > But, when a patch hits Linus through multiple branches, that means I see
> > it multiple times, usually months apart in timeframe. This is
> > especially bad during the -rc1 merge window when all of the old work you
> > all did for the past 3 months hits Linus, which includes all of the old
> > bugfixes that were already in the previous kernel release.
> >
> > I think there were over 25 different patches in -rc1 that hit this
> > issue. Maybe more, maybe less, I don't know, I'm giving up at this
> > point, I wasted over 2 hours trying to figure out a way to do this in an
> > automated way, or by hand, or something else to deal with all of these
> > rejections or "fuzz merge" which really was a duplicate.
> >
> > And the joy of your "cherry-picked from 12345..." messages, with git
> > commit ids that are no where to be found in Linus's tree at all, is
> > totally annoying as well, why even have this if it doesn't mean
> > anything? I sure can't use it.
> >
> > Not to mention all of the build-breakages, and normal "fails to apply"
> > that you all end up with, your driver subsystem has the largest instance
> > of those as well, and build-breakages are the worst, as they cause my
> > process to come to a screeching halt while I have to bisect to find the
> > broken patch. Given the lack of patches that people actually send me
> > when I send in the "FAILED" emails, I'm guessing that you all don't care
> > that much about stable kernels either, which is fine, as again, I'm
> > giving up on your driver.
> >
> > So, either you all only mark a patch _ONCE_. Or come up with some way
> > for me to determine, in an automated way that a patch is already in
> > Linus's older release, or just don't mark anything and send me a
> > hand-curated list of git commit ids, or patches in mbox form (like DaveM
> > does), or something else you all come up with. What is happening now is
> > not working at all, and as of now, I'm going to just drop all i915
> > patches with a cc: stable marking on the floor.
> >
> > Congrats on being the first subsystem that I've had to blacklist from my
> > stable patch workflow :(
> >
> > greg "35k feet above India and grumpy" k-h
>
> So I blame this on flight level 350, but we discussed this at kernel
> summit. Every patch we cherry-pick over comes with a "cherry-picked from
> $sha1" line, as long as you ignore any such sha1 as duplicate you won't
> see the same patch twice.

I tried that, but that cherry-pick number doesn't seem to match up with
anything in Linus's tree. Where are those numbers coming from?

Or there aren't numbers at all. Look at commit:
8726f2faa371514fba2f594d799db95203dfeee0. It just showed up in Linus's
tree, and there's no "cherry-pick" number in there. It ended up in
4.9.7.

Hm, ok, you want me to look at the commit id and then search to see if
it's already been merged "before". Ah, that's crazy. So I need to do
that for every i915 patch? Search backwards? Ugh, that's a mess, no
wonder I couldn't figure it out...

> Iirc you said you'll implement this in your scripts, and as long as we
> never break this rule, you'll be fine. Since you seemed to have agreed to
> a solution that would solve all your headaches I didn't bother doing
> any changes on our side here.

So if a commit says "cherry-pick", I guess I can always assume it's safe
to add, right? If not, _then_ I have to run the "search backwards"
logic, right?

Ok, let me think about this a bit to see if that's possible to script...

> what happened? Has bashing drm become the cool thing to do somehow?

I don't understand, I haven't bashed drm in years :)

thanks,

greg "jet lagged" k-h