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?