Documentation/admin-guide/bug-bisect.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+)
We don't explicitly mention anywhere in the kernel tree that bisects
between -next versions won't work well and it's better to bisect between
mainline and -next. Let's add a note about that to try to help people avoid
this particular gotcha.
Signed-off-by: Mark Brown <broonie@kernel.org>
---
Documentation/admin-guide/bug-bisect.rst | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/Documentation/admin-guide/bug-bisect.rst b/Documentation/admin-guide/bug-bisect.rst
index 585630d14581c7e0bdf9dd3b66d427793d41925b..eef6921a9542ef276c097e5861ca4efe5812ea0d 100644
--- a/Documentation/admin-guide/bug-bisect.rst
+++ b/Documentation/admin-guide/bug-bisect.rst
@@ -109,6 +109,18 @@ With that the process is complete. Now report the regression as described by
Documentation/admin-guide/reporting-issues.rst.
+Bisecting linux-next
+--------------------
+
+Since linux-next is a series of merges rebuilt every day starting from
+Linus' tree there is no commmon history between multiple versions of
+-next. This means that the history of a given -next release won't
+include prior -next releases which confuses bisect if you try to
+bisect between them. Bisects will run much better if performed between
+-next and the commit in Linus' tree which that version of -next is
+based on instead.
+
+
Additional reading material
---------------------------
---
base-commit: 8e929cb546ee42c9a61d24fae60605e9e3192354
change-id: 20241022-doc-bisect-next-d47c6ace8a95
Best regards,
--
Mark Brown <broonie@kernel.org>
On 22.10.24 17:59, Mark Brown wrote: > We don't explicitly mention anywhere in the kernel tree that bisects > between -next versions won't work well and it's better to bisect between > mainline and -next. Let's add a note about that to try to help people avoid > this particular gotcha. > > Signed-off-by: Mark Brown <broonie@kernel.org> Thx for this! > --- > Documentation/admin-guide/bug-bisect.rst | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > [...] > +Bisecting linux-next > +-------------------- > + > +Since linux-next is a series of merges rebuilt every day starting from > +Linus' tree there is no commmon history between multiple versions of > +-next. This means that the history of a given -next release won't > +include prior -next releases which confuses bisect if you try to > +bisect between them. Bisects will run much better if performed between > +-next and the commit in Linus' tree which that version of -next is > +based on instead. Hmmmm. That describes the problem (somewhat in style of a "reference guide"), but does not really match the approach the rest of the text uses (which is more of an "howto"). So for me it feels like a bad fit, even if users of linux-next are less likely to need a howto. How about something like this instead: --- Bisecting linux-next -------------------- If you face a problem that only happens in linux-next, bisect between the linux-next branches "stable" and "master". Use these commands to start the bisection for a linux-next tree you added as a remote called "next":: git bisect start git bisect good next/stable git bisect bad next/master The "stable" branch refers to the state of linux-mainline the current linux-next release is based on -- so it should be free of any problems that show up in -next, but not in Linus' tree. This approach will mean that you have to bisect across a wide range of changes, some of which you might have used in earlier linux-next releases without problems. Sadly it's impossible to bisect from one linux-next release to a later one (say between next-20241022 and next-20241023), as the -next specific changes of the two share no common history. --- I did not check the commands in that text yet, hope I did not do anything stupid there. Ciao, Thorsten
On Wed, Oct 23, 2024 at 08:05:33PM +0200, Thorsten Leemhuis wrote: > How about something like this instead: > > --- > > Bisecting linux-next > -------------------- > > If you face a problem that only happens in linux-next, bisect between > the linux-next branches "stable" and "master". Use these commands to > start the bisection for a linux-next tree you added as a remote called > "next":: This looks good to me. Reviewed-by: Mark Brown <broonie@kernel.org>
© 2016 - 2024 Red Hat, Inc.