I’m curious how git bisect was applied here. Wouldn’t you have to compile the whole kernel somehow and then run your test program using that kernel? Is that really what was done here?
Yes? This is faster and easier than you may think it to be. Building a reasonably small kernel only takes ~a minute. People usually have fully automated git-bisect-run scripts for build & test in qemu.
Oh, interesting, did not know it could be so fast.
For me, at least, there's an important difference missing from the debate over the term "C/C++": compiling C code is always much faster than you would expect, but compiling C++ code is always much slower than you would expect...
And yet there's an ongoing effort to optimize the kernel compile time by rearranging all of the headers. On a modern machine with plenty of cores a kernel build is pretty quick, but they're talking about slicing 20% or more off the top.
It's always slower than we'd like.
Perhaps more importantly than being fast, it is scriptable. ("git bisect run" can take a shell command to run and interpret the exit code of, so you could script everything including the kernel recompiles and walk away for a few hours.)
Yes, that's what I did.
The kernel is relatively easy to compile and install, so I would think that's exactly what they did.