From: Sasha Levin <sashal@kernel.org>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: ksummit@lists.linux.dev, Greg KH <gregkh@linuxfoundation.org>
Subject: Re: Proposal: Enhancing Commit Tagging for Stable Kernel Branches
Date: Sun, 14 Jul 2024 16:18:00 -0400 [thread overview]
Message-ID: <ZpQyeLFJY1gJvRRA@sashalap> (raw)
In-Reply-To: <f0d42bfb20b728b0c80daff864bd858ce86b3bfe.camel@HansenPartnership.com>
On Sun, Jul 14, 2024 at 03:20:48PM -0400, James Bottomley wrote:
>On Sun, 2024-07-14 at 14:38 -0400, Sasha Levin wrote:
>> On Sun, Jul 14, 2024 at 09:35:26AM -0400, James Bottomley wrote:
>> > On Sun, 2024-07-14 at 08:31 -0400, Sasha Levin wrote:
>> > > Hi folks,
>> > >
>> > > The Linux kernel community relies heavily on commit tags to
>> > > identify and manage patches destined for stable kernel branches.
>> > > Currently, we use a "Stable tag" (cc: stable@kernel.org) to
>> > > indicate that a patch should be included in stable kernel
>> > > branches, and a "Fixes tag" (Fixes: 012345678901 ("commit
>> > > subject")) to point to an older commit that the new commit fixes
>> > > or improves. However, this scheme has led to some unintended
>> > > consequences.
>> > >
>> > > One of the main issues is that most Fixes-tagged commits (>80%)
>> > > end up in a stable tree, leading some authors to omit the Stable
>> > > tag altogether. This means we may not be trying hard enough to
>> > > include critical commits in stable kernel branches. On the other
>> > > hand, some authors are unhappy when commits without a Stable tag
>> > > end up in a stable kernel branch. To address these shortcomings,
>> > > I propose introducing an "Improves tag" (Improves: 012345678901
>> > > ("commit subject")) and altering the meaning of the Fixes tag.
>> >
>> > I've got to say this looks like a bad idea: your complaint is we're
>> > not being clear enough about the cc:stable and fixes semantics, so
>> > the proposal is to introduce a tag with even less clear semantics
>> > in the hope that it will somehow improve the situation. Why not
>> > simply be much more crisp about the meaning of Fixes and no
>> > cc:stable? If everyone
>>
>> What does it mean exactly? What should we be doing now that wasn't
>> happening before?
>
>I outlined it below and you replied.
>
>> All our documentation explicitly says that a stable tag is a *must*,
>> we've been nagging folks to add it when they haven't, and we give
>> them the spiel whenever we're asked why a certain fixes-only commit
>> didn't make it into the stable trees.
>
>Then you've muddied that by backporting a lot of stuff without
>cc:stable leading to somewhat mixed messages. However, most of the
>trees I'm involved in are very fastidious about cc:stable which should
>prove getting people to assist here isn't impossible.
And we appreciate the help, and some of it is indeed what you've pointed
out here: folks are used to "Fixes:" meaning automatic backport to
-stable.
[snip]
>> The statistic is that about 70% of commits that have a stable tag but
>> no fixes tag actually fix something in the previous releases rather
>> than something that was introduced in the current merge window.
>
>Given the number for fairly trivial spelling and other non user visible
>fixes we get in the trees I look at that doesn't sound too surprising.
>So the big question is how many of those *should* actually have had a
>stable tag?
I'm going to argue that if you look at commits with only a Fixes tag in
any of the recent -rc cycles, you'll find that over half of them should
be backported.
It could be a fun experiment if you want to give it a go, we can both
look at v6.8-rc1..v6.8 and compare notes?
>> When you couple that with commits that are stable tagged, nearly 85%
>> of commits in each -rc release actually address something that
>> happened prior to the merge window.
>
>Here you seem to be assuming that every commit with a Fixes tag for a
>prior release should be in stable ... I don't think that's true at all.
I really weren't. All I said that most commits with a Fixes tag in the
-rc cycles of a release don't fix an issue introduced in the merge
window of that release.
>> > So the clear rules look like they should be
>> >
>> > 1. every patch fixing something should have a fixes tag pointing
>> > to the fixed commit
>> > 2. Only patches with cc:stable should go automatically in to
>> > stable trees and as far back as the fixes tag allows
>> > 3. if a patch without cc:stable is later discovered to be a
>> > required fix, people can ask for it to be backported.
>>
>> These were the rules for a while, and the issue was that there were
>> so many commits without a stable tag that needed to be backported
>> that the model of "later discovered" simply overwhelmed the process.
>
>How can it? The cc:stable is automation driven, surely we could
>automate the discovered after process as well. Our control systems via
>email has rather dramatically improved over the years, just look at
>regzbot.
Stable tag is, but we don't have a nice story around everything else
yet. Maybe regzbot is indeed the solution to a lot of these issues in
the future, but right now we're not even close.
From my experience, most issues tracked by regzbot and fixed upstream
don't actually have a stable tag. Here's one I just looked at a few days
ago: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f451fd97dd2b78f286379203a47d9d295c467255
And I'm actually happy to point to that one as an example because the
ext4 folks are usually great about stable tags.
Should we have not taken that commit?
--
Thanks,
Sasha
next prev parent reply other threads:[~2024-07-14 20:18 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-14 12:31 Proposal: Enhancing Commit Tagging for Stable Kernel Branches Sasha Levin
2024-07-14 13:35 ` James Bottomley
2024-07-14 15:35 ` Andrew Lunn
2024-07-14 16:34 ` James Bottomley
2024-07-14 18:38 ` Sasha Levin
2024-07-14 19:20 ` James Bottomley
2024-07-14 20:18 ` Sasha Levin [this message]
2024-07-15 18:00 ` Theodore Ts'o
2024-07-15 18:07 ` Mark Brown
2024-07-15 19:06 ` Dan Carpenter
2024-07-15 19:23 ` Steven Rostedt
2024-07-15 19:24 ` James Bottomley
2024-07-15 19:28 ` Steven Rostedt
2024-07-15 19:30 ` James Bottomley
2024-07-15 19:39 ` Dan Carpenter
2024-07-16 6:30 ` Greg KH
2024-07-15 20:25 ` Mauro Carvalho Chehab
2024-07-15 20:47 ` Dmitry Torokhov
2024-07-16 6:28 ` Greg KH
2024-07-16 12:20 ` Takashi Iwai
2024-07-17 22:05 ` Dan Carpenter
2024-07-18 7:34 ` Takashi Iwai
2024-07-18 14:48 ` Dan Carpenter
2024-07-18 14:56 ` James Bottomley
2024-07-18 16:36 ` Dan Carpenter
2024-07-19 0:49 ` NeilBrown
2024-07-19 1:35 ` Dan Carpenter
2024-07-19 11:55 ` Vegard Nossum
2024-07-23 14:14 ` Jiri Kosina
2024-07-16 14:51 ` Jason Gunthorpe
2024-07-16 19:38 ` Dan Carpenter
2024-07-15 6:15 ` Mauro Carvalho Chehab
2024-07-14 17:07 ` Linus Torvalds
2024-07-14 18:47 ` Sasha Levin
2024-07-14 19:27 ` Linus Torvalds
2024-07-14 20:27 ` Sasha Levin
2024-07-14 23:05 ` James Bottomley
2024-07-14 23:09 ` Linus Torvalds
2024-07-15 8:02 ` Greg KH
2024-07-15 8:53 ` Mauro Carvalho Chehab
2024-07-15 12:48 ` Mimi Zohar
2024-07-15 12:52 ` Mimi Zohar
2024-07-15 14:34 ` Alexandre Belloni
2024-07-15 14:40 ` Greg KH
2024-07-15 15:00 ` Jonathan Corbet
2024-07-15 15:07 ` James Bottomley
2024-07-15 15:19 ` Sasha Levin
2024-07-15 15:31 ` James Bottomley
2024-07-15 15:42 ` Dan Carpenter
2024-07-15 15:10 ` Greg KH
2024-07-15 17:45 ` Mauro Carvalho Chehab
2024-07-15 18:04 ` Mark Brown
2024-07-15 20:51 ` Dmitry Torokhov
2024-07-16 6:25 ` Greg KH
2024-07-16 15:00 ` Mark Brown
2024-07-14 23:29 ` NeilBrown
2024-07-14 23:29 ` Steven Rostedt
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=ZpQyeLFJY1gJvRRA@sashalap \
--to=sashal@kernel.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=gregkh@linuxfoundation.org \
--cc=ksummit@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.