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 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox