Re: [patch 2/2] Documentation/process: Add tip tree handbook

From: Paul E. McKenney
Date: Thu Nov 08 2018 - 15:05:21 EST


On Thu, Nov 08, 2018 at 08:58:32PM +0100, Thomas Gleixner wrote:
> On Thu, 8 Nov 2018, Paul E. McKenney wrote:
> > On Thu, Nov 08, 2018 at 09:19:33AM -0800, Dan Williams wrote:
> > > On Thu, Nov 8, 2018 at 1:13 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > > >
> > > > On Thu, Nov 08, 2018 at 08:40:12AM +0100, Ingo Molnar wrote:
> > > > > > + - Cc: ``cc-ed-person <person@mail>``
> > > > > > +
> > > > > > + If the patch should be backported to stable, then please add a '``Cc:
> > > > > > + stable@xxxxxxxxxxxxxxx``' tag, but do not Cc stable when sending your
> > > > > > + mail.
> > > > >
> > > > > Can I suggest a more canonical form:
> > > > >
> > > > > Cc: <stable@xxxxxxxxxxxxxxx> # v4.18 and later kernels
> > > > >
> > > > > It would be nice if people adding Cc: stable lines would actually try to
> > > > > figure out which exact kernel versions are affected.
> > >
> > > I know at least StGit mail does not grok that "#"notation. I've
> > > stopped using it in favor of a "Fixes:" tag. I would think "Fixes:" is
> > > preferred over "# <KVER>" if only because it can be used to track
> > > fixes to commits that have been backported to stable. Is there any
> > > reason for "# <KVER>" to continue in a world where we have "Fixes:"?
> >
> > I sometimes have fixes that need to be different for different past
> > releases. And there have been cases where RCU patches would apply and
> > build cleanly against releases for which it was not appropriate, but
> > would have some low-probability failure. Which meant that it could be
> > expected to pass light testing. :-/
> >
> > So I sometimes need a way of saying which versions a given patch applies
> > to, independent of the version into which the bug was introduced.
>
> I can understand that you want to limit the scope of automatic backports.
>
> But we really should try to always use of the Fixes: tag. In most cases the
> SHA1 of the commit in the fixes tag defines the backport scope.
>
> For the rare cases where the buggy commit is really old, but you want to
> limit the backport scope for a reason then I really like to avoid to
> overload the Cc stable tag and have a dedicated tag instead. Something
> like:
>
> Fixes: 1234567890AB ("subsys/comp: Short summary")
> Backport-to: 4.14
>
> and have that backport tag right under the Fixes tag. If the Backport-to
> tag is ommitted, the SHA1 defines the scope, but I'm fine with making it
> mandatory.
>
> If there is really the special RCU case where each and every stable version
> needs some special treatment then say:
>
> Backport-to: Manual
>
> or whatever sensible word would express it correctly.
>
> The Fixes tag is really valuable when you need to make connections and I
> know that the people who are looking into safety-critical Linux value the
> tag because it can be used for tracking and for metrics.

Indeed, I do need to get my act together with the Fixes tag. And I am
happy with whatever format would limit backports appropriately.

Thanx, Paul