[RndTbl] bisecting distro kernels

Trevor Cordes trevor at tecnopolis.ca
Thu Aug 7 13:02:23 CDT 2014


I'm still struggling with that horrible oom-killer kernel bug present
in all post-3.11 kernels.  (To feel my pain, see
https://bugzilla.redhat.com/show_bug.cgi?id=1075185 )

I even posted to the LKML and got zippo replies.

There's nothing else I can do now but Git bisect.

Here's my dilemma, you can't really bisect distro-modified kernels, or
in my case Fedora (source) SRPM files.  The reason is those don't
really exist in Git.  The distro takes the Git files, freezes them,
adds its own stuff (patches, etc), and makes up its own RPM SPEC file
(or similar for DEB, etc) and then slaps its own kernel version number
on it (the third and fourth numbers).

For Fedora, some guy has a page and scripts to help bisect kernels "the
Fedora way" but his scripts fail due to yet another 32-bit bug (see
https://bugzilla.redhat.com/show_bug.cgi?id=1090186 ) meaning I can't
use them.  I'm not sure what his things even do to make it all gel, but
I haven't found any other references to bisecting "the Fedora way".

So the question becomes, should I just forget all the Fedora-specific
tweaks and patches and just try to build myself a vanilla kernel and do
the bisecting that way?  Now, for sure I don't want to answer the
config questions on my own so I'll have to find a way to steal or
modify the config (and perhaps most of the SPEC file) from Fedora to
ease the process.  Does this seem reasonable?

The last thing, is it seems distro kernel version numbers seem to have
nothing to do with kernel version numbers beyond the 2nd dot.  For
instance, Fedora has a 3.11.10-200, but "Linux" doesn't really have a
3.11.10 version.  They only have a 3.11 release and then lots of Git
commits, but nothing that officially says "3.11.10".  Or at least
that's what it seems to me after all my research.

Since I know that 3.11.10-200 is working, and 3.12.9-201 (but maybe not
3.12.1-xxx e.g.) is broken, it seems to me that I would have to bisect
vanilla 3.11 with vanilla 3.13 (note: NOT 3.12!).  That's a lot of extra
bisecting!

I can reproduce the crash nearly every night just by going to sleep and
waiting for 5-6am to roll around, but then all my services are down
until I wake up and hit reset, so bisecting/testing/bisecting... will
take forever and a lot of hardship to me and others who rely on my
services.

If anyone can correct any incorrect assumptions above, and so make the
path easier for me, please do so!  If anyone has a better understanding
of bisecting in relation to distros, please explain.  Delving into this
much deeper than I ever wanted to, it appears to me to be really messed
up that no one bridges the divide between Git and distros for the
purposes of bisecting.  Surely I'm not (once again) the 0.000001% of
Linux users that needs to do something like this?


More information about the Roundtable mailing list