ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
To: dan.j.williams@intel.com
Cc: Greg KH <gregkh@linuxfoundation.org>,
	 Doug Anderson <dianders@chromium.org>,
	James Bottomley <James.Bottomley@hansenpartnership.com>,
	 "ksummit@lists.linux.dev" <ksummit@lists.linux.dev>
Subject: Re: Replacing Link trailers
Date: Wed, 15 Oct 2025 14:37:48 -0400	[thread overview]
Message-ID: <20251015-versed-active-silkworm-bb87bd@lemur> (raw)
In-Reply-To: <68efd54da845e_2f89910071@dwillia2-mobl4.notmuch>

On Wed, Oct 15, 2025 at 10:09:33AM -0700, dan.j.williams@intel.com wrote:
> > So unless we have one big "all the notes merged into one" tree
> > somewhere
> 
> ...circling back to say. Why *not* do this?

Git notes are fragile, they have important scalability problems (they are all
just files in a single ref, so if you have a million annotated commits, you
have a million files split across a bunch of two-letter prefixed dirs), and
when multiple writers are editing notes, you will have conflicts and merges.

It's not a great medium for a system that's supposed to be continuously added
to.

I have pondered this multiple times and my preferred approach would be to have
a machine-readable feed that can be indexed and searched. To me, it makes
sense to make it a public-inbox feed that is just RFC-2822 messages, but
that's obviously because I have a large public-inbox hammer. Our transparency
feed operates this way:

https://git.kernel.org/pub/scm/infra/transparency-logs/gitolite/git/1.git/plain/m

We could have the same approach with commit annotations.

E.g. if a patch is merged by a submaintainer:

    From: somebot: <...>
    Subject: commit annotation for abcd...7890
    X-For-Commit-ID: abcd...7890
    X-For-Patch-ID: bcde....8901
    References: <some@message-id>
    [other headers like Date, Message-ID, etc]

    ---
    source: pub/scm/linux/kernel/git/subsystem/linux
    link: https://patch.msgid.link/some@message-id
    type: merge
    description |
                Merged by somemaintainer@kernel.org

If it is then merged into mainline:
    
    From: somebot: <...>
    Subject: commit annotation for abcd...7890
    X-For-Commit-ID: abcd...7890
    X-For-Patch-ID: bcde....8901
    References: <some@message-id>
    [other headers like Date, Message-ID, etc]

    ---
    source: pub/scm/linux/kernel/git/subsystem/linux
    link: https://patch.msgid.link/some@message-id
    type: merge
    description |
                Merged by torvalds@linuxfoundation.org

If it is then mentioned in a bug report:

    From: SomeOtherBot <...>
    Subject: commit annotation for abcd...7890
    X-For-Commit-ID: abcd...7890
    [other headers like Date, Message-ID, etc]

    ---
    source: https://bugzilla.kernel.org/bug/12345
    link: https://bugzilla.kernel.org/bug/12345/comment1
    type: bug
    description: |
                 Mentioned in bug 12345 comment 1 as possible source of
                 data corruption in frobfs under high loads.

This is trivial to search for if we're indexing X-For-Commit-ID headers and
then trivial to parse to get a full "medical history" of a commit. Anyone can
clone this and run their own analysis on it using heuristic or AI tools.

This generally goes into my vision of lore as a "message bus" of sorts for
everything to do with Linux development. It's unwieldy for a human, but we're
gradually entering into an era where automated agents are able to efficiently
analyze the firehose and tame it for maintainers. Maybe.

-K

  parent reply	other threads:[~2025-10-15 18:37 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-13 11:53 James Bottomley
2025-10-13 12:25 ` Mathieu Desnoyers
2025-10-13 12:48   ` James Bottomley
2025-10-13 12:50   ` Mark Brown
2025-10-13 14:52   ` Guenter Roeck
2025-10-13 17:36   ` Steven Rostedt
2025-10-14 19:12   ` Johannes Berg
2025-10-14 19:35     ` Steven Rostedt
2025-10-15 22:01       ` Johannes Berg
2025-10-15 22:22         ` Steven Rostedt
2025-10-16 10:16           ` Simona Vetter
2025-10-16 12:18             ` Hans de Goede
2025-10-16 18:39           ` David Woodhouse
2025-10-16  7:43         ` Geert Uytterhoeven
2025-10-14 20:23     ` Doug Anderson
2025-10-16  8:08     ` Dan Carpenter
2025-10-13 15:40 ` Doug Anderson
2025-10-13 16:31   ` James Bottomley
2025-10-13 17:39     ` Steven Rostedt
2025-10-13 17:50       ` Theodore Ts'o
2025-10-13 19:07         ` H. Peter Anvin
2025-10-13 19:20           ` Linus Torvalds
2025-10-13 19:35             ` James Bottomley
2025-10-13 19:37               ` H. Peter Anvin
2025-10-13 19:36             ` H. Peter Anvin
2025-10-13 20:34             ` Doug Anderson
2025-10-13 20:36               ` H. Peter Anvin
2025-10-13 20:58               ` Laurent Pinchart
2025-10-13 20:59               ` Vlastimil Babka
2025-10-13 21:46                 ` Doug Anderson
2025-10-14 14:23                   ` Sasha Levin
2025-10-14 11:09               ` Mark Brown
2025-10-13 19:35           ` H. Peter Anvin
2025-10-14 16:01   ` dan.j.williams
2025-10-14 17:46     ` Greg KH
2025-10-14 17:57       ` dan.j.williams
2025-10-15 17:09       ` dan.j.williams
2025-10-15 17:55         ` James Bottomley
2025-10-15 18:04           ` Luck, Tony
2025-10-15 18:37         ` Konstantin Ryabitsev [this message]
2025-10-15 19:13           ` dan.j.williams
2025-10-15 19:15           ` Linus Torvalds
2025-10-15 19:17             ` Linus Torvalds
2025-10-15 22:51               ` Doug Anderson
2025-10-16  4:26                 ` Chen-Yu Tsai
2025-10-16  6:57               ` Greg KH
2025-10-16 10:04                 ` Jani Nikula
2025-10-16 11:54                 ` James Bottomley
2025-10-16 12:18                   ` Greg KH
2025-10-16 12:29                     ` James Bottomley
2025-10-16 13:00                       ` Konstantin Ryabitsev
2025-10-16 13:47                         ` Steven Rostedt
2025-10-16 14:36                         ` Mark Brown
2025-10-16 14:58                         ` Rob Herring
2025-10-16 15:07                           ` James Bottomley
2025-10-16 15:36                             ` Geert Uytterhoeven
2025-10-16 15:52                               ` James Bottomley
2025-10-16 15:37                             ` Steven Rostedt
2025-10-16 19:29                           ` H. Peter Anvin
2025-10-16 19:32                             ` James Bottomley
2025-10-16 23:53                               ` H. Peter Anvin
2025-10-16 19:09                         ` James Bottomley
2025-10-17  2:27                           ` Doug Anderson
2025-10-17  8:44                             ` Vlastimil Babka
2025-10-17  9:21                               ` Geert Uytterhoeven
2025-10-17 10:09                                 ` Rafael J. Wysocki
2025-10-16 12:34                     ` Mathieu Desnoyers
2025-10-16 12:49                       ` Mark Brown
2025-10-16 12:49                       ` Geert Uytterhoeven
2025-10-16 12:54                         ` Mathieu Desnoyers
2025-10-16 13:07                           ` Geert Uytterhoeven
2025-10-16 12:51                       ` Jiri Kosina
2025-10-16 12:54                         ` James Bottomley
2025-10-16 13:51                           ` Steven Rostedt
2025-10-16 16:21                   ` Michael S. Tsirkin
2025-10-16 12:20                 ` Steven Rostedt
2025-10-15 21:29             ` Kees Cook
2025-10-15 21:40             ` Mark Brown

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=20251015-versed-active-silkworm-bb87bd@lemur \
    --to=konstantin@linuxfoundation.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=dan.j.williams@intel.com \
    --cc=dianders@chromium.org \
    --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