€•$ Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ ”Œchildren”]”(Œtranslations”Œ
LanguagesNode”“”)�”}”(hhh]”(h Œpending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ
attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ0/translations/zh_CN/process/handling-regressions”Œmodname”NŒ classname”NŒrefexplicit”ˆuŒtagname”hhhubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/zh_TW/process/handling-regressions”Œmodname”NŒ classname”NŒrefexplicit”ˆuh1hhhubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/it_IT/process/handling-regressions”Œmodname”NŒ classname”NŒrefexplicit”ˆuh1hhhubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/ja_JP/process/handling-regressions”Œmodname”NŒ classname”NŒrefexplicit”ˆuh1hhhubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/ko_KR/process/handling-regressions”Œmodname”NŒ classname”NŒrefexplicit”ˆuh1hhhubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/pt_BR/process/handling-regressions”Œmodname”NŒ classname”NŒrefexplicit”ˆuh1hhhubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/sp_SP/process/handling-regressions”Œmodname”NŒ classname”NŒrefexplicit”ˆuh1hhhubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h
hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ0SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0)”h]”hŒ0SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0)”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒJ/var/lib/git/docbuild/linux/Documentation/process/handling-regressions.rst”h´Kubh¶)�”}”(hŒFSee the bottom of this file for additional redistribution information.”h]”hŒFSee the bottom of this file for additional redistribution information.”…”�”}”hhÈsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1hµhhh²hh³hÇh´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒHandling regressions”h]”hŒHandling regressions”…”�”}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hXV *We don't cause regressions* -- this document describes what this "first rule of
Linux kernel development" means in practice for developers. It complements
Documentation/admin-guide/reporting-regressions.rst, which covers the topic from a
user's point of view; if you never read that text, go and at least skim over it
before continuing here.”h]”(hŒemphasis”“”)�”}”(hŒ*We don't cause regressions*”h]”hŒWe don’t cause regressions”…”�”}”(hhóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hñhhíubhX@ -- this document describes what this “first rule of
Linux kernel development� means in practice for developers. It complements
Documentation/admin-guide/reporting-regressions.rst, which covers the topic from a
user’s point of view; if you never read that text, go and at least skim over it
before continuing here.”…”�”}”(hhíh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KhhØh²hubh×)�”}”(hhh]”(hÜ)�”}”(hŒ$The important bits (aka "The TL;DR")”h]”hŒ(The important bits (aka “The TL;DRâ€�)”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj h²hh³hÇh´KubhŒenumerated_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hX˜ Ensure subscribers of the `regression mailing list `_
(regressions@lists.linux.dev) quickly become aware of any new regression
report:
* When receiving a mailed report that did not CC the list, bring it into the
loop by immediately sending at least a brief "Reply-all" with the list
CCed.
* Forward or bounce any reports submitted in bug trackers to the list.
”h]”(hì)�”}”(hŒ¬Ensure subscribers of the `regression mailing list `_
(regressions@lists.linux.dev) quickly become aware of any new regression
report:”h]”(hŒEnsure subscribers of the ”…”�”}”(hj' h²hh³Nh´NubhŒ reference”“”)�”}”(hŒA`regression mailing list `_”h]”hŒregression mailing list”…”�”}”(hj1 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œregression mailing list”Œrefuri”Œ$https://lore.kernel.org/regressions/”uh1j/ hj' ubhŒtarget”“”)�”}”(hŒ' ”h]”h}”(h]”Œregression-mailing-list”ah ]”h"]”Œregression mailing list”ah$]”h&]”Œrefuri”jB uh1jC Œ
referenced”Khj' ubhŒ
(”…”�”}”(hj' h²hh³Nh´Nubj0 )�”}”(hŒregressions@lists.linux.dev”h]”hŒregressions@lists.linux.dev”…”�”}”(hjW h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ"mailto:regressions@lists.linux.dev”uh1j/ hj' ubhŒ4) quickly become aware of any new regression
report:”…”�”}”(hj' h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Khj# ubhŒblock_quote”“”)�”}”(hŒæ* When receiving a mailed report that did not CC the list, bring it into the
loop by immediately sending at least a brief "Reply-all" with the list
CCed.
* Forward or bounce any reports submitted in bug trackers to the list.
”h]”hŒbullet_list”“”)�”}”(hhh]”(j" )�”}”(hŒ˜When receiving a mailed report that did not CC the list, bring it into the
loop by immediately sending at least a brief "Reply-all" with the list
CCed.
”h]”hì)�”}”(hŒ—When receiving a mailed report that did not CC the list, bring it into the
loop by immediately sending at least a brief "Reply-all" with the list
CCed.”h]”hŒ›When receiving a mailed report that did not CC the list, bring it into the
loop by immediately sending at least a brief “Reply-all� with the list
CCed.”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Khj| ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hjy ubj" )�”}”(hŒEForward or bounce any reports submitted in bug trackers to the list.
”h]”hì)�”}”(hŒDForward or bounce any reports submitted in bug trackers to the list.”h]”hŒDForward or bounce any reports submitted in bug trackers to the list.”…”�”}”(hj˜ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Khj” ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hjy ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1jw h³hÇh´Khjs ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´Khj# ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j! hj h²hh³hÇh´Nubj" )�”}”(hXÛ Make the Linux kernel regression tracking bot "regzbot" track the issue (this
is optional, but recommended):
* For mailed reports, check if the reporter included a line like ``#regzbot
introduced: v5.13..v5.14-rc1``. If not, send a reply (with the regressions
list in CC) containing a paragraph like the following, which tells regzbot
when the issue started to happen::
#regzbot ^introduced: 1f2e3d4c5b6a
* When forwarding reports from a bug tracker to the regressions list (see
above), include a paragraph like the following::
#regzbot introduced: v5.13..v5.14-rc1
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789
”h]”(hì)�”}”(hŒlMake the Linux kernel regression tracking bot "regzbot" track the issue (this
is optional, but recommended):”h]”hŒpMake the Linux kernel regression tracking bot “regzbotâ€� track the issue (this
is optional, but recommended):”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KhjÀ ubjr )�”}”(hXc * For mailed reports, check if the reporter included a line like ``#regzbot
introduced: v5.13..v5.14-rc1``. If not, send a reply (with the regressions
list in CC) containing a paragraph like the following, which tells regzbot
when the issue started to happen::
#regzbot ^introduced: 1f2e3d4c5b6a
* When forwarding reports from a bug tracker to the regressions list (see
above), include a paragraph like the following::
#regzbot introduced: v5.13..v5.14-rc1
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789
”h]”jx )�”}”(hhh]”(j" )�”}”(hX( For mailed reports, check if the reporter included a line like ``#regzbot
introduced: v5.13..v5.14-rc1``. If not, send a reply (with the regressions
list in CC) containing a paragraph like the following, which tells regzbot
when the issue started to happen::
#regzbot ^introduced: 1f2e3d4c5b6a
”h]”(hì)�”}”(hX For mailed reports, check if the reporter included a line like ``#regzbot
introduced: v5.13..v5.14-rc1``. If not, send a reply (with the regressions
list in CC) containing a paragraph like the following, which tells regzbot
when the issue started to happen::”h]”(hŒ?For mailed reports, check if the reporter included a line like ”…”�”}”(hjÝ h²hh³Nh´NubhŒliteral”“”)�”}”(hŒ)``#regzbot
introduced: v5.13..v5.14-rc1``”h]”hŒ%#regzbot
introduced: v5.13..v5.14-rc1”…”�”}”(hjç h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjÝ ubhŒ™. If not, send a reply (with the regressions
list in CC) containing a paragraph like the following, which tells regzbot
when the issue started to happen:”…”�”}”(hjÝ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KhjÙ ubhŒ
literal_block”“”)�”}”(hŒ"#regzbot ^introduced: 1f2e3d4c5b6a”h]”hŒ"#regzbot ^introduced: 1f2e3d4c5b6a”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÿ h³hÇh´K"hjÙ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j! hjÖ ubj" )�”}”(hX& When forwarding reports from a bug tracker to the regressions list (see
above), include a paragraph like the following::
#regzbot introduced: v5.13..v5.14-rc1
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789
”h]”(hì)�”}”(hŒxWhen forwarding reports from a bug tracker to the regressions list (see
above), include a paragraph like the following::”h]”hŒwWhen forwarding reports from a bug tracker to the regressions list (see
above), include a paragraph like the following:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K$hj ubj )�”}”(hŒ¨#regzbot introduced: v5.13..v5.14-rc1
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789”h]”hŒ¨#regzbot introduced: v5.13..v5.14-rc1
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789”…”�”}”hj' sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÿ h³hÇh´K'hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j! hjÖ ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´KhjÒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´KhjÀ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j! hj h²hh³hÇh´Nubj" )�”}”(hX© When submitting fixes for regressions, add "Closes:" tags to the patch
description pointing to all places where the issue was reported, as
mandated by Documentation/process/submitting-patches.rst and
:ref:`Documentation/process/5.Posting.rst `. If you are
only fixing part of the issue that caused the regression, you may use
"Link:" tags instead. regzbot currently makes no distinction between the
two.
”h]”hì)�”}”(hX¨ When submitting fixes for regressions, add "Closes:" tags to the patch
description pointing to all places where the issue was reported, as
mandated by Documentation/process/submitting-patches.rst and
:ref:`Documentation/process/5.Posting.rst `. If you are
only fixing part of the issue that caused the regression, you may use
"Link:" tags instead. regzbot currently makes no distinction between the
two.”h]”(hŒÌWhen submitting fixes for regressions, add “Closes:â€� tags to the patch
description pointing to all places where the issue was reported, as
mandated by Documentation/process/submitting-patches.rst and
”…”�”}”(hjQ h²hh³Nh´Nubh)�”}”(hŒ@:ref:`Documentation/process/5.Posting.rst `”h]”hŒinline”“”)�”}”(hj[ h]”hŒ#Documentation/process/5.Posting.rst”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j] hjY ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œprocess/handling-regressions”Œ refdomain”jj Œreftype”Œref”Œrefexplicit”ˆŒrefwarn”ˆŒ reftarget”Œdevelopment_posting”uh1hh³hÇh´K+hjQ ubhŒ¤. If you are
only fixing part of the issue that caused the regression, you may use
“Link:� tags instead. regzbot currently makes no distinction between the
two.”…”�”}”(hjQ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K+hjM ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj h²hh³hÇh´Nubj" )�”}”(hŒ»Try to fix regressions quickly once the culprit has been identified; fixes
for most regressions should be merged within two weeks, but some need to be
resolved within two or three days.
”h]”hì)�”}”(hŒ¹Try to fix regressions quickly once the culprit has been identified; fixes
for most regressions should be merged within two weeks, but some need to be
resolved within two or three days.”h]”hŒ¹Try to fix regressions quickly once the culprit has been identified; fixes
for most regressions should be merged within two weeks, but some need to be
resolved within two or three days.”…”�”}”(hj’ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K3hjŽ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ.”uh1j hj h²hh³hÇh´Kubeh}”(h]”Œ the-important-bits-aka-the-tl-dr”ah ]”h"]”Œ$the important bits (aka "the tl;dr")”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)�”}”(hhh]”(hÜ)�”}”(hŒCAll the details on Linux kernel regressions relevant for developers”h]”hŒCAll the details on Linux kernel regressions relevant for developers”…”�”}”(hj¼ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj¹ h²hh³hÇh´K9ubh×)�”}”(hhh]”(hÜ)�”}”(hŒ#The important basics in more detail”h]”hŒ#The important basics in more detail”…”�”}”(hjÍ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjÊ h²hh³hÇh´K=ubh×)�”}”(hhh]”(hÜ)�”}”(hŒ,What to do when receiving regression reports”h]”hŒ,What to do when receiving regression reports”…”�”}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjÛ h²hh³hÇh´KAubhì)�”}”(hŒÙEnsure the Linux kernel's regression tracker and others subscribers of the
`regression mailing list `_
(regressions@lists.linux.dev) become aware of any newly reported regression:”h]”(hŒMEnsure the Linux kernel’s regression tracker and others subscribers of the
”…”�”}”(hjì h²hh³Nh´Nubj0 )�”}”(hŒA`regression mailing list `_”h]”hŒregression mailing list”…”�”}”(hjô h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œregression mailing list”jA Œ$https://lore.kernel.org/regressions/”uh1j/ hjì ubjD )�”}”(hŒ' ”h]”h}”(h]”Œid1”ah ]”h"]”h$]”Œregression mailing list”ah&]”Œrefuri”j uh1jC jR Khjì ubhŒ
(”…”�”}”(hjì h²hh³Nh´Nubj0 )�”}”(hŒregressions@lists.linux.dev”h]”hŒregressions@lists.linux.dev”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ"mailto:regressions@lists.linux.dev”uh1j/ hjì ubhŒ0) become aware of any newly reported regression:”…”�”}”(hjì h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KChjÛ h²hubjr )�”}”(hXù * When you receive a report by mail that did not CC the list, immediately bring
it into the loop by sending at least a brief "Reply-all" with the list CCed;
try to ensure it gets CCed again in case you reply to a reply that omitted
the list.
* If a report submitted in a bug tracker hits your Inbox, forward or bounce it
to the list. Consider checking the list archives beforehand, if the reporter
already forwarded the report as instructed by
Documentation/admin-guide/reporting-issues.rst.
”h]”jx )�”}”(hhh]”(j" )�”}”(hŒðWhen you receive a report by mail that did not CC the list, immediately bring
it into the loop by sending at least a brief "Reply-all" with the list CCed;
try to ensure it gets CCed again in case you reply to a reply that omitted
the list.
”h]”hì)�”}”(hŒïWhen you receive a report by mail that did not CC the list, immediately bring
it into the loop by sending at least a brief "Reply-all" with the list CCed;
try to ensure it gets CCed again in case you reply to a reply that omitted
the list.”h]”hŒóWhen you receive a report by mail that did not CC the list, immediately bring
it into the loop by sending at least a brief “Reply-all� with the list CCed;
try to ensure it gets CCed again in case you reply to a reply that omitted
the list.”…”�”}”(hj; h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KGhj7 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj4 ubj" )�”}”(hŒøIf a report submitted in a bug tracker hits your Inbox, forward or bounce it
to the list. Consider checking the list archives beforehand, if the reporter
already forwarded the report as instructed by
Documentation/admin-guide/reporting-issues.rst.
”h]”hì)�”}”(hŒ÷If a report submitted in a bug tracker hits your Inbox, forward or bounce it
to the list. Consider checking the list archives beforehand, if the reporter
already forwarded the report as instructed by
Documentation/admin-guide/reporting-issues.rst.”h]”hŒ÷If a report submitted in a bug tracker hits your Inbox, forward or bounce it
to the list. Consider checking the list archives beforehand, if the reporter
already forwarded the report as instructed by
Documentation/admin-guide/reporting-issues.rst.”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KLhjO ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj4 ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´KGhj0 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´KGhjÛ h²hubhì)�”}”(hŒ{When doing either, consider making the Linux kernel regression tracking bot
"regzbot" immediately start tracking the issue:”h]”hŒWhen doing either, consider making the Linux kernel regression tracking bot
“regzbotâ€� immediately start tracking the issue:”…”�”}”(hjs h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KQhjÛ h²hubjr )�”}”(hXÎ * For mailed reports, check if the reporter included a "regzbot command" like
``#regzbot introduced: 1f2e3d4c5b6a``. If not, send a reply (with the
regressions list in CC) with a paragraph like the following:::
#regzbot ^introduced: v5.13..v5.14-rc1
This tells regzbot the version range in which the issue started to happen;
you can specify a range using commit-ids as well or state a single commit-id
in case the reporter bisected the culprit.
Note the caret (^) before the "introduced": it tells regzbot to treat the
parent mail (the one you reply to) as the initial report for the regression
you want to see tracked; that's important, as regzbot will later look out
for patches with "Closes:" tags pointing to the report in the archives on
lore.kernel.org.
* When forwarding a regression reported to a bug tracker, include a paragraph
with these regzbot commands::
#regzbot introduced: 1f2e3d4c5b6a
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789
Regzbot will then automatically associate patches with the report that
contain "Closes:" tags pointing to your mail or the mentioned ticket.
”h]”jx )�”}”(hhh]”(j" )�”}”(hXý For mailed reports, check if the reporter included a "regzbot command" like
``#regzbot introduced: 1f2e3d4c5b6a``. If not, send a reply (with the
regressions list in CC) with a paragraph like the following:::
#regzbot ^introduced: v5.13..v5.14-rc1
This tells regzbot the version range in which the issue started to happen;
you can specify a range using commit-ids as well or state a single commit-id
in case the reporter bisected the culprit.
Note the caret (^) before the "introduced": it tells regzbot to treat the
parent mail (the one you reply to) as the initial report for the regression
you want to see tracked; that's important, as regzbot will later look out
for patches with "Closes:" tags pointing to the report in the archives on
lore.kernel.org.
”h]”(hì)�”}”(hŒÐFor mailed reports, check if the reporter included a "regzbot command" like
``#regzbot introduced: 1f2e3d4c5b6a``. If not, send a reply (with the
regressions list in CC) with a paragraph like the following:::”h]”(hŒPFor mailed reports, check if the reporter included a “regzbot commandâ€� like
”…”�”}”(hjŒ h²hh³Nh´Nubjæ )�”}”(hŒ%``#regzbot introduced: 1f2e3d4c5b6a``”h]”hŒ!#regzbot introduced: 1f2e3d4c5b6a”…”�”}”(hj” h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hjŒ ubhŒ^. If not, send a reply (with the
regressions list in CC) with a paragraph like the following::”…”�”}”(hjŒ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KThjˆ ubj )�”}”(hŒregzbot ^introduced: v5.13..v5.14-rc1”h]”hŒregzbot ^introduced: v5.13..v5.14-rc1”…”�”}”hj¬ sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÿ h³hÇh´KXhjˆ ubhì)�”}”(hŒÂThis tells regzbot the version range in which the issue started to happen;
you can specify a range using commit-ids as well or state a single commit-id
in case the reporter bisected the culprit.”h]”hŒÂThis tells regzbot the version range in which the issue started to happen;
you can specify a range using commit-ids as well or state a single commit-id
in case the reporter bisected the culprit.”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KZhjˆ ubhì)�”}”(hX: Note the caret (^) before the "introduced": it tells regzbot to treat the
parent mail (the one you reply to) as the initial report for the regression
you want to see tracked; that's important, as regzbot will later look out
for patches with "Closes:" tags pointing to the report in the archives on
lore.kernel.org.”h]”hXD Note the caret (^) before the “introducedâ€�: it tells regzbot to treat the
parent mail (the one you reply to) as the initial report for the regression
you want to see tracked; that’s important, as regzbot will later look out
for patches with “Closes:� tags pointing to the report in the archives on
lore.kernel.org.”…”�”}”(hjÈ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K^hjˆ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j! hj… ubj" )�”}”(hXª When forwarding a regression reported to a bug tracker, include a paragraph
with these regzbot commands::
#regzbot introduced: 1f2e3d4c5b6a
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789
Regzbot will then automatically associate patches with the report that
contain "Closes:" tags pointing to your mail or the mentioned ticket.
”h]”(hì)�”}”(hŒiWhen forwarding a regression reported to a bug tracker, include a paragraph
with these regzbot commands::”h]”hŒhWhen forwarding a regression reported to a bug tracker, include a paragraph
with these regzbot commands:”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KdhjÜ ubj )�”}”(hŒ¤#regzbot introduced: 1f2e3d4c5b6a
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789”h]”hŒ¤#regzbot introduced: 1f2e3d4c5b6a
#regzbot from: Some N. Ice Human
#regzbot monitor: http://some.bugtracker.example.com/ticket?id=123456789”…”�”}”hjî sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÿ h³hÇh´KghjÜ ubhì)�”}”(hŒŒRegzbot will then automatically associate patches with the report that
contain "Closes:" tags pointing to your mail or the mentioned ticket.”h]”hŒ�Regzbot will then automatically associate patches with the report that
contain “Closes:â€� tags pointing to your mail or the mentioned ticket.”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KkhjÜ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j! hj… ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´KThj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´KThjÛ h²hubeh}”(h]”Œ,what-to-do-when-receiving-regression-reports”ah ]”h"]”Œ,what to do when receiving regression reports”ah$]”h&]”uh1hÖhjÊ h²hh³hÇh´KAubh×)�”}”(hhh]”(hÜ)�”}”(hŒ(What's important when fixing regressions”h]”hŒ*What’s important when fixing regressions”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj$ h²hh³hÇh´Koubhì)�”}”(hX& You don't need to do anything special when submitting fixes for regression, just
remember to do what Documentation/process/submitting-patches.rst,
:ref:`Documentation/process/5.Posting.rst `, and
Documentation/process/stable-kernel-rules.rst already explain in more detail:”h]”(hŒ•You don’t need to do anything special when submitting fixes for regression, just
remember to do what Documentation/process/submitting-patches.rst,
”…”�”}”(hj5 h²hh³Nh´Nubh)�”}”(hŒ@:ref:`Documentation/process/5.Posting.rst `”h]”j^ )�”}”(hj? h]”hŒ#Documentation/process/5.Posting.rst”…”�”}”(hjA h²hh³Nh´Nubah}”(h]”h ]”(ji Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j] hj= ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jv Œ refdomain”jK Œreftype”Œref”Œrefexplicit”ˆŒrefwarn”ˆj| Œdevelopment_posting”uh1hh³hÇh´Kqhj5 ubhŒS, and
Documentation/process/stable-kernel-rules.rst already explain in more detail:”…”�”}”(hj5 h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kqhj$ h²hubjr )�”}”(hX¡ * Point to all places where the issue was reported using "Closes:" tags::
Closes: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=1234567890
If you are only fixing part of the issue, you may use "Link:" instead as
described in the first document mentioned above. regzbot currently treats
both of these equivalently and considers the linked reports as resolved.
* Add a "Fixes:" tag to specify the commit causing the regression.
* If the culprit was merged in an earlier development cycle, explicitly mark
the fix for backporting using the ``Cc: stable@vger.kernel.org`` tag.
”h]”jx )�”}”(hhh]”(j" )�”}”(hX» Point to all places where the issue was reported using "Closes:" tags::
Closes: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=1234567890
If you are only fixing part of the issue, you may use "Link:" instead as
described in the first document mentioned above. regzbot currently treats
both of these equivalently and considers the linked reports as resolved.
”h]”(hì)�”}”(hŒGPoint to all places where the issue was reported using "Closes:" tags::”h]”hŒJPoint to all places where the issue was reported using “Closes:â€� tags:”…”�”}”(hjr h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kvhjn ubj )�”}”(hŒŒCloses: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=1234567890”h]”hŒŒCloses: https://lore.kernel.org/r/30th.anniversary.repost@klaava.Helsinki.FI/
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=1234567890”…”�”}”hj€ sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÿ h³hÇh´Kxhjn ubhì)�”}”(hŒÛIf you are only fixing part of the issue, you may use "Link:" instead as
described in the first document mentioned above. regzbot currently treats
both of these equivalently and considers the linked reports as resolved.”h]”hŒßIf you are only fixing part of the issue, you may use “Link:â€� instead as
described in the first document mentioned above. regzbot currently treats
both of these equivalently and considers the linked reports as resolved.”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K{hjn ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j! hjk ubj" )�”}”(hŒAAdd a "Fixes:" tag to specify the commit causing the regression.
”h]”hì)�”}”(hŒ@Add a "Fixes:" tag to specify the commit causing the regression.”h]”hŒDAdd a “Fixes:â€� tag to specify the commit causing the regression.”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Khj¢ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hjk ubj" )�”}”(hŒ‘If the culprit was merged in an earlier development cycle, explicitly mark
the fix for backporting using the ``Cc: stable@vger.kernel.org`` tag.
”h]”hì)�”}”(hŒ�If the culprit was merged in an earlier development cycle, explicitly mark
the fix for backporting using the ``Cc: stable@vger.kernel.org`` tag.”h]”(hŒmIf the culprit was merged in an earlier development cycle, explicitly mark
the fix for backporting using the ”…”�”}”(hj¾ h²hh³Nh´Nubjæ )�”}”(hŒ``Cc: stable@vger.kernel.org``”h]”hŒCc: stable@vger.kernel.org”…”�”}”(hjÆ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jå hj¾ ubhŒ tag.”…”�”}”(hj¾ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K�hjº ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hjk ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´Kvhjg ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´Kvhj$ h²hubhì)�”}”(hX¾ All this is expected from you and important when it comes to regression, as
these tags are of great value for everyone (you included) that might be looking
into the issue weeks, months, or years later. These tags are also crucial for
tools and scripts used by other kernel developers or Linux distributions; one of
these tools is regzbot, which heavily relies on the "Closes:" tags to associate
reports for regression with changes resolving them.”h]”hXÂ All this is expected from you and important when it comes to regression, as
these tags are of great value for everyone (you included) that might be looking
into the issue weeks, months, or years later. These tags are also crucial for
tools and scripts used by other kernel developers or Linux distributions; one of
these tools is regzbot, which heavily relies on the “Closes:� tags to associate
reports for regression with changes resolving them.”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K„hj$ h²hubeh}”(h]”Œ(what-s-important-when-fixing-regressions”ah ]”h"]”Œ(what's important when fixing regressions”ah$]”h&]”uh1hÖhjÊ h²hh³hÇh´Koubh×)�”}”(hhh]”(hÜ)�”}”(hŒ6Expectations and best practices for fixing regressions”h]”hŒ6Expectations and best practices for fixing regressions”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj h²hh³hÇh´KŒubhì)�”}”(hŒ¬As a Linux kernel developer, you are expected to give your best to prevent
situations where a regression caused by a recent change of yours leaves users
only these options:”h]”hŒ¬As a Linux kernel developer, you are expected to give your best to prevent
situations where a regression caused by a recent change of yours leaves users
only these options:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KŽhj h²hubjr )�”}”(hX¡ * Run a kernel with a regression that impacts usage.
* Switch to an older or newer kernel series.
* Continue running an outdated and thus potentially insecure kernel for more
than three weeks after the regression's culprit was identified. Ideally it
should be less than two. And it ought to be just a few days, if the issue is
severe or affects many users -- either in general or in prevalent
environments.
”h]”jx )�”}”(hhh]”(j" )�”}”(hŒ3Run a kernel with a regression that impacts usage.
”h]”hì)�”}”(hŒ2Run a kernel with a regression that impacts usage.”h]”hŒ2Run a kernel with a regression that impacts usage.”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K’hj, ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj) ubj" )�”}”(hŒ+Switch to an older or newer kernel series.
”h]”hì)�”}”(hŒ*Switch to an older or newer kernel series.”h]”hŒ*Switch to an older or newer kernel series.”…”�”}”(hjH h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K”hjD ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj) ubj" )�”}”(hX3 Continue running an outdated and thus potentially insecure kernel for more
than three weeks after the regression's culprit was identified. Ideally it
should be less than two. And it ought to be just a few days, if the issue is
severe or affects many users -- either in general or in prevalent
environments.
”h]”hì)�”}”(hX2 Continue running an outdated and thus potentially insecure kernel for more
than three weeks after the regression's culprit was identified. Ideally it
should be less than two. And it ought to be just a few days, if the issue is
severe or affects many users -- either in general or in prevalent
environments.”h]”hX4 Continue running an outdated and thus potentially insecure kernel for more
than three weeks after the regression’s culprit was identified. Ideally it
should be less than two. And it ought to be just a few days, if the issue is
severe or affects many users -- either in general or in prevalent
environments.”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K–hj\ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj) ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´K’hj% ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´K’hj h²hubhì)�”}”(hŒhHow to realize that in practice depends on various factors. Use the following
rules of thumb as a guide.”h]”hŒhHow to realize that in practice depends on various factors. Use the following
rules of thumb as a guide.”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kœhj h²hubhì)�”}”(hŒIn general:”h]”hŒIn general:”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KŸhj h²hubjr )�”}”(hX³ * Prioritize work on regressions over all other Linux kernel work, unless the
latter concerns a severe issue (e.g. acute security vulnerability, data loss,
bricked hardware, ...).
* Expedite fixing mainline regressions that recently made it into a proper
mainline, stable, or longterm release (either directly or via backport).
* Do not consider regressions from the current cycle as something that can wait
till the end of the cycle, as the issue might discourage or prevent users and
CI systems from testing mainline now or generally.
* Work with the required care to avoid additional or bigger damage, even if
resolving an issue then might take longer than outlined below.
”h]”jx )�”}”(hhh]”(j" )�”}”(hŒ²Prioritize work on regressions over all other Linux kernel work, unless the
latter concerns a severe issue (e.g. acute security vulnerability, data loss,
bricked hardware, ...).
”h]”hì)�”}”(hŒ±Prioritize work on regressions over all other Linux kernel work, unless the
latter concerns a severe issue (e.g. acute security vulnerability, data loss,
bricked hardware, ...).”h]”hŒ±Prioritize work on regressions over all other Linux kernel work, unless the
latter concerns a severe issue (e.g. acute security vulnerability, data loss,
bricked hardware, ...).”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K¡hj£ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj ubj" )�”}”(hŒ’Expedite fixing mainline regressions that recently made it into a proper
mainline, stable, or longterm release (either directly or via backport).
”h]”hì)�”}”(hŒ‘Expedite fixing mainline regressions that recently made it into a proper
mainline, stable, or longterm release (either directly or via backport).”h]”hŒ‘Expedite fixing mainline regressions that recently made it into a proper
mainline, stable, or longterm release (either directly or via backport).”…”�”}”(hj¿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K¥hj» ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj ubj" )�”}”(hŒÏDo not consider regressions from the current cycle as something that can wait
till the end of the cycle, as the issue might discourage or prevent users and
CI systems from testing mainline now or generally.
”h]”hì)�”}”(hŒÎDo not consider regressions from the current cycle as something that can wait
till the end of the cycle, as the issue might discourage or prevent users and
CI systems from testing mainline now or generally.”h]”hŒÎDo not consider regressions from the current cycle as something that can wait
till the end of the cycle, as the issue might discourage or prevent users and
CI systems from testing mainline now or generally.”…”�”}”(hj× h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K¨hjÓ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj ubj" )�”}”(hŒ‰Work with the required care to avoid additional or bigger damage, even if
resolving an issue then might take longer than outlined below.
”h]”hì)�”}”(hŒˆWork with the required care to avoid additional or bigger damage, even if
resolving an issue then might take longer than outlined below.”h]”hŒˆWork with the required care to avoid additional or bigger damage, even if
resolving an issue then might take longer than outlined below.”…”�”}”(hjï h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K¬hjë ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´K¡hjœ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´K¡hj h²hubhì)�”}”(hŒ4On timing once the culprit of a regression is known:”h]”hŒ4On timing once the culprit of a regression is known:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K¯hj h²hubjr )�”}”(hXÑ * Aim to mainline a fix within two or three days, if the issue is severe or
bothering many users -- either in general or in prevalent conditions like a
particular hardware environment, distribution, or stable/longterm series.
* Aim to mainline a fix by Sunday after the next, if the culprit made it
into a recent mainline, stable, or longterm release (either directly or via
backport); if the culprit became known early during a week and is simple to
resolve, try to mainline the fix within the same week.
* For other regressions, aim to mainline fixes before the hindmost Sunday
within the next three weeks. One or two Sundays later are acceptable, if the
regression is something people can live with easily for a while -- like a
mild performance regression.
* It's strongly discouraged to delay mainlining regression fixes till the next
merge window, except when the fix is extraordinarily risky or when the
culprit was mainlined more than a year ago.
”h]”jx )�”}”(hhh]”(j" )�”}”(hŒàAim to mainline a fix within two or three days, if the issue is severe or
bothering many users -- either in general or in prevalent conditions like a
particular hardware environment, distribution, or stable/longterm series.
”h]”hì)�”}”(hŒßAim to mainline a fix within two or three days, if the issue is severe or
bothering many users -- either in general or in prevalent conditions like a
particular hardware environment, distribution, or stable/longterm series.”h]”hŒßAim to mainline a fix within two or three days, if the issue is severe or
bothering many users -- either in general or in prevalent conditions like a
particular hardware environment, distribution, or stable/longterm series.”…”�”}”(hj( h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K±hj$ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj! ubj" )�”}”(hX Aim to mainline a fix by Sunday after the next, if the culprit made it
into a recent mainline, stable, or longterm release (either directly or via
backport); if the culprit became known early during a week and is simple to
resolve, try to mainline the fix within the same week.
”h]”hì)�”}”(hX Aim to mainline a fix by Sunday after the next, if the culprit made it
into a recent mainline, stable, or longterm release (either directly or via
backport); if the culprit became known early during a week and is simple to
resolve, try to mainline the fix within the same week.”h]”hX Aim to mainline a fix by Sunday after the next, if the culprit made it
into a recent mainline, stable, or longterm release (either directly or via
backport); if the culprit became known early during a week and is simple to
resolve, try to mainline the fix within the same week.”…”�”}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kµhj< ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj! ubj" )�”}”(hŒüFor other regressions, aim to mainline fixes before the hindmost Sunday
within the next three weeks. One or two Sundays later are acceptable, if the
regression is something people can live with easily for a while -- like a
mild performance regression.
”h]”hì)�”}”(hŒûFor other regressions, aim to mainline fixes before the hindmost Sunday
within the next three weeks. One or two Sundays later are acceptable, if the
regression is something people can live with easily for a while -- like a
mild performance regression.”h]”hŒûFor other regressions, aim to mainline fixes before the hindmost Sunday
within the next three weeks. One or two Sundays later are acceptable, if the
regression is something people can live with easily for a while -- like a
mild performance regression.”…”�”}”(hjX h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KºhjT ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj! ubj" )�”}”(hŒÀIt's strongly discouraged to delay mainlining regression fixes till the next
merge window, except when the fix is extraordinarily risky or when the
culprit was mainlined more than a year ago.
”h]”hì)�”}”(hŒ¿It's strongly discouraged to delay mainlining regression fixes till the next
merge window, except when the fix is extraordinarily risky or when the
culprit was mainlined more than a year ago.”h]”hŒÁIt’s strongly discouraged to delay mainlining regression fixes till the next
merge window, except when the fix is extraordinarily risky or when the
culprit was mainlined more than a year ago.”…”�”}”(hjp h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K¿hjl ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj! ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´K±hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´K±hj h²hubhì)�”}”(hŒ
On procedure:”h]”hŒ
On procedure:”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KÃhj h²hubjr )�”}”(hX * Always consider reverting the culprit, as it's often the quickest and least
dangerous way to fix a regression. Don't worry about mainlining a fixed
variant later: that should be straight-forward, as most of the code went
through review once already.
* Try to resolve any regressions introduced in mainline during the past
twelve months before the current development cycle ends: Linus wants such
regressions to be handled like those from the current cycle, unless fixing
bears unusual risks.
* Consider CCing Linus on discussions or patch review, if a regression seems
tangly. Do the same in precarious or urgent cases -- especially if the
subsystem maintainer might be unavailable. Also CC the stable team, when you
know such a regression made it into a mainline, stable, or longterm release.
* For urgent regressions, consider asking Linus to pick up the fix straight
from the mailing list: he is totally fine with that for uncontroversial
fixes. Ideally though such requests should happen in accordance with the
subsystem maintainers or come directly from them.
* In case you are unsure if a fix is worth the risk applying just days before
a new mainline release, send Linus a mail with the usual lists and people in
CC; in it, summarize the situation while asking him to consider picking up
the fix straight from the list. He then himself can make the call and when
needed even postpone the release. Such requests again should ideally happen
in accordance with the subsystem maintainers or come directly from them.
”h]”jx )�”}”(hhh]”(j" )�”}”(hŒúAlways consider reverting the culprit, as it's often the quickest and least
dangerous way to fix a regression. Don't worry about mainlining a fixed
variant later: that should be straight-forward, as most of the code went
through review once already.
”h]”hì)�”}”(hŒùAlways consider reverting the culprit, as it's often the quickest and least
dangerous way to fix a regression. Don't worry about mainlining a fixed
variant later: that should be straight-forward, as most of the code went
through review once already.”h]”hŒýAlways consider reverting the culprit, as it’s often the quickest and least
dangerous way to fix a regression. Don’t worry about mainlining a fixed
variant later: that should be straight-forward, as most of the code went
through review once already.”…”�”}”(hj© h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KÅhj¥ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj¢ ubj" )�”}”(hŒðTry to resolve any regressions introduced in mainline during the past
twelve months before the current development cycle ends: Linus wants such
regressions to be handled like those from the current cycle, unless fixing
bears unusual risks.
”h]”hì)�”}”(hŒïTry to resolve any regressions introduced in mainline during the past
twelve months before the current development cycle ends: Linus wants such
regressions to be handled like those from the current cycle, unless fixing
bears unusual risks.”h]”hŒïTry to resolve any regressions introduced in mainline during the past
twelve months before the current development cycle ends: Linus wants such
regressions to be handled like those from the current cycle, unless fixing
bears unusual risks.”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KÊhj½ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj¢ ubj" )�”}”(hX, Consider CCing Linus on discussions or patch review, if a regression seems
tangly. Do the same in precarious or urgent cases -- especially if the
subsystem maintainer might be unavailable. Also CC the stable team, when you
know such a regression made it into a mainline, stable, or longterm release.
”h]”hì)�”}”(hX+ Consider CCing Linus on discussions or patch review, if a regression seems
tangly. Do the same in precarious or urgent cases -- especially if the
subsystem maintainer might be unavailable. Also CC the stable team, when you
know such a regression made it into a mainline, stable, or longterm release.”h]”hX+ Consider CCing Linus on discussions or patch review, if a regression seems
tangly. Do the same in precarious or urgent cases -- especially if the
subsystem maintainer might be unavailable. Also CC the stable team, when you
know such a regression made it into a mainline, stable, or longterm release.”…”�”}”(hjÙ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KÏhjÕ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj¢ ubj" )�”}”(hX
For urgent regressions, consider asking Linus to pick up the fix straight
from the mailing list: he is totally fine with that for uncontroversial
fixes. Ideally though such requests should happen in accordance with the
subsystem maintainers or come directly from them.
”h]”hì)�”}”(hX For urgent regressions, consider asking Linus to pick up the fix straight
from the mailing list: he is totally fine with that for uncontroversial
fixes. Ideally though such requests should happen in accordance with the
subsystem maintainers or come directly from them.”h]”hX For urgent regressions, consider asking Linus to pick up the fix straight
from the mailing list: he is totally fine with that for uncontroversial
fixes. Ideally though such requests should happen in accordance with the
subsystem maintainers or come directly from them.”…”�”}”(hjñ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KÔhjí ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj¢ ubj" )�”}”(hXÄ In case you are unsure if a fix is worth the risk applying just days before
a new mainline release, send Linus a mail with the usual lists and people in
CC; in it, summarize the situation while asking him to consider picking up
the fix straight from the list. He then himself can make the call and when
needed even postpone the release. Such requests again should ideally happen
in accordance with the subsystem maintainers or come directly from them.
”h]”hì)�”}”(hXà In case you are unsure if a fix is worth the risk applying just days before
a new mainline release, send Linus a mail with the usual lists and people in
CC; in it, summarize the situation while asking him to consider picking up
the fix straight from the list. He then himself can make the call and when
needed even postpone the release. Such requests again should ideally happen
in accordance with the subsystem maintainers or come directly from them.”h]”hXÃ In case you are unsure if a fix is worth the risk applying just days before
a new mainline release, send Linus a mail with the usual lists and people in
CC; in it, summarize the situation while asking him to consider picking up
the fix straight from the list. He then himself can make the call and when
needed even postpone the release. Such requests again should ideally happen
in accordance with the subsystem maintainers or come directly from them.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KÙhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj¢ ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´KÅhjž ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´KÅhj h²hubhì)�”}”(hŒ&Regarding stable and longterm kernels:”h]”hŒ&Regarding stable and longterm kernels:”…”�”}”(hj) h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kàhj h²hubjr )�”}”(hXf * You are free to leave regressions to the stable team, if they at no point in
time occurred with mainline or were fixed there already.
* If a regression made it into a proper mainline release during the past
twelve months, ensure to tag the fix with "Cc: stable@vger.kernel.org", as a
"Fixes:" tag alone does not guarantee a backport. Please add the same tag,
in case you know the culprit was backported to stable or longterm kernels.
* When receiving reports about regressions in recent stable or longterm kernel
series, please evaluate at least briefly if the issue might happen in current
mainline as well -- and if that seems likely, take hold of the report. If in
doubt, ask the reporter to check mainline.
* Whenever you want to swiftly resolve a regression that recently also made it
into a proper mainline, stable, or longterm release, fix it quickly in
mainline; when appropriate thus involve Linus to fast-track the fix (see
above). That's because the stable team normally does neither revert nor fix
any changes that cause the same problems in mainline.
* In case of urgent regression fixes you might want to ensure prompt
backporting by dropping the stable team a note once the fix was mainlined;
this is especially advisable during merge windows and shortly thereafter, as
the fix otherwise might land at the end of a huge patch queue.
”h]”jx )�”}”(hhh]”(j" )�”}”(hŒ†You are free to leave regressions to the stable team, if they at no point in
time occurred with mainline or were fixed there already.
”h]”hì)�”}”(hŒ…You are free to leave regressions to the stable team, if they at no point in
time occurred with mainline or were fixed there already.”h]”hŒ…You are free to leave regressions to the stable team, if they at no point in
time occurred with mainline or were fixed there already.”…”�”}”(hjB h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kâhj> ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj; ubj" )�”}”(hX* If a regression made it into a proper mainline release during the past
twelve months, ensure to tag the fix with "Cc: stable@vger.kernel.org", as a
"Fixes:" tag alone does not guarantee a backport. Please add the same tag,
in case you know the culprit was backported to stable or longterm kernels.
”h]”hì)�”}”(hX) If a regression made it into a proper mainline release during the past
twelve months, ensure to tag the fix with "Cc: stable@vger.kernel.org", as a
"Fixes:" tag alone does not guarantee a backport. Please add the same tag,
in case you know the culprit was backported to stable or longterm kernels.”h]”(hŒxIf a regression made it into a proper mainline release during the past
twelve months, ensure to tag the fix with “Cc: ”…”�”}”(hjZ h²hh³Nh´Nubj0 )�”}”(hŒstable@vger.kernel.org”h]”hŒstable@vger.kernel.org”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:stable@vger.kernel.org”uh1j/ hjZ ubhŒ£â€�, as a
“Fixes:� tag alone does not guarantee a backport. Please add the same tag,
in case you know the culprit was backported to stable or longterm kernels.”…”�”}”(hjZ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KåhjV ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj; ubj" )�”}”(hX When receiving reports about regressions in recent stable or longterm kernel
series, please evaluate at least briefly if the issue might happen in current
mainline as well -- and if that seems likely, take hold of the report. If in
doubt, ask the reporter to check mainline.
”h]”hì)�”}”(hX When receiving reports about regressions in recent stable or longterm kernel
series, please evaluate at least briefly if the issue might happen in current
mainline as well -- and if that seems likely, take hold of the report. If in
doubt, ask the reporter to check mainline.”h]”hX When receiving reports about regressions in recent stable or longterm kernel
series, please evaluate at least briefly if the issue might happen in current
mainline as well -- and if that seems likely, take hold of the report. If in
doubt, ask the reporter to check mainline.”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kêhj‚ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj; ubj" )�”}”(hX_ Whenever you want to swiftly resolve a regression that recently also made it
into a proper mainline, stable, or longterm release, fix it quickly in
mainline; when appropriate thus involve Linus to fast-track the fix (see
above). That's because the stable team normally does neither revert nor fix
any changes that cause the same problems in mainline.
”h]”hì)�”}”(hX^ Whenever you want to swiftly resolve a regression that recently also made it
into a proper mainline, stable, or longterm release, fix it quickly in
mainline; when appropriate thus involve Linus to fast-track the fix (see
above). That's because the stable team normally does neither revert nor fix
any changes that cause the same problems in mainline.”h]”hX` Whenever you want to swiftly resolve a regression that recently also made it
into a proper mainline, stable, or longterm release, fix it quickly in
mainline; when appropriate thus involve Linus to fast-track the fix (see
above). That’s because the stable team normally does neither revert nor fix
any changes that cause the same problems in mainline.”…”�”}”(hjž h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kïhjš ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj; ubj" )�”}”(hX In case of urgent regression fixes you might want to ensure prompt
backporting by dropping the stable team a note once the fix was mainlined;
this is especially advisable during merge windows and shortly thereafter, as
the fix otherwise might land at the end of a huge patch queue.
”h]”hì)�”}”(hX In case of urgent regression fixes you might want to ensure prompt
backporting by dropping the stable team a note once the fix was mainlined;
this is especially advisable during merge windows and shortly thereafter, as
the fix otherwise might land at the end of a huge patch queue.”h]”hX In case of urgent regression fixes you might want to ensure prompt
backporting by dropping the stable team a note once the fix was mainlined;
this is especially advisable during merge windows and shortly thereafter, as
the fix otherwise might land at the end of a huge patch queue.”…”�”}”(hj¶ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kõhj² ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hj; ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´Kâhj7 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´Kâhj h²hubhì)�”}”(hŒOn patch flow:”h]”hŒOn patch flow:”…”�”}”(hjÖ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kúhj h²hubjr )�”}”(hXD * Developers, when trying to reach the time periods mentioned above, remember
to account for the time it takes to get fixes tested, reviewed, and merged by
Linus, ideally with them being in linux-next at least briefly. Hence, if a
fix is urgent, make it obvious to ensure others handle it appropriately.
* Reviewers, you are kindly asked to assist developers in reaching the time
periods mentioned above by reviewing regression fixes in a timely manner.
* Subsystem maintainers, you likewise are encouraged to expedite the handling
of regression fixes. Thus evaluate if skipping linux-next is an option for
the particular fix. Also consider sending git pull requests more often than
usual when needed. And try to avoid holding onto regression fixes over
weekends -- especially when the fix is marked for backporting.
”h]”jx )�”}”(hhh]”(j" )�”}”(hX. Developers, when trying to reach the time periods mentioned above, remember
to account for the time it takes to get fixes tested, reviewed, and merged by
Linus, ideally with them being in linux-next at least briefly. Hence, if a
fix is urgent, make it obvious to ensure others handle it appropriately.
”h]”hì)�”}”(hX- Developers, when trying to reach the time periods mentioned above, remember
to account for the time it takes to get fixes tested, reviewed, and merged by
Linus, ideally with them being in linux-next at least briefly. Hence, if a
fix is urgent, make it obvious to ensure others handle it appropriately.”h]”hX- Developers, when trying to reach the time periods mentioned above, remember
to account for the time it takes to get fixes tested, reviewed, and merged by
Linus, ideally with them being in linux-next at least briefly. Hence, if a
fix is urgent, make it obvious to ensure others handle it appropriately.”…”�”}”(hjï h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kühjë ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hjè ubj" )�”}”(hŒ”Reviewers, you are kindly asked to assist developers in reaching the time
periods mentioned above by reviewing regression fixes in a timely manner.
”h]”hì)�”}”(hŒ“Reviewers, you are kindly asked to assist developers in reaching the time
periods mentioned above by reviewing regression fixes in a timely manner.”h]”hŒ“Reviewers, you are kindly asked to assist developers in reaching the time
periods mentioned above by reviewing regression fixes in a timely manner.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hjè ubj" )�”}”(hXj Subsystem maintainers, you likewise are encouraged to expedite the handling
of regression fixes. Thus evaluate if skipping linux-next is an option for
the particular fix. Also consider sending git pull requests more often than
usual when needed. And try to avoid holding onto regression fixes over
weekends -- especially when the fix is marked for backporting.
”h]”hì)�”}”(hXh Subsystem maintainers, you likewise are encouraged to expedite the handling
of regression fixes. Thus evaluate if skipping linux-next is an option for
the particular fix. Also consider sending git pull requests more often than
usual when needed. And try to avoid holding onto regression fixes over
weekends -- especially when the fix is marked for backporting.”h]”hXh Subsystem maintainers, you likewise are encouraged to expedite the handling
of regression fixes. Thus evaluate if skipping linux-next is an option for
the particular fix. Also consider sending git pull requests more often than
usual when needed. And try to avoid holding onto regression fixes over
weekends -- especially when the fix is marked for backporting.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Mhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j! hjè ubeh}”(h]”h ]”h"]”h$]”h&]”j² j³ uh1jw h³hÇh´Kühjä ubah}”(h]”h ]”h"]”h$]”h&]”uh1jq h³hÇh´Kühj h²hubeh}”(h]”Œ6expectations-and-best-practices-for-fixing-regressions”ah ]”h"]”Œ6expectations and best practices for fixing regressions”ah$]”h&]”uh1hÖhjÊ h²hh³hÇh´KŒubeh}”(h]”Œ#the-important-basics-in-more-detail”ah ]”h"]”Œ#the important basics in more detail”ah$]”h&]”uh1hÖhj¹ h²hh³hÇh´K=ubh×)�”}”(hhh]”(hÜ)�”}”(hŒ@More aspects regarding regressions developers should be aware of”h]”hŒ@More aspects regarding regressions developers should be aware of”…”�”}”(hjR h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjO h²hh³hÇh´Mubh×)�”}”(hhh]”(hÜ)�”}”(hŒ