Eric W. Biederman wrote:
kexec is a set of systems call that allows you to load another kernel from the currently executing Linux kernel. The current implementation has only been tested, and had the kinks worked out on x86, but the generic code should work on any architecture.
Could I get some feed back on where this work and where this breaks. With the maturation of kexec-tools to skip attempting bios calls, I expect a new the linux kernel to load for most people. Though I also expect some device drivers will not reinitialize after the reboot.
I give it a big thumbs-up. Between the NUMAQs and the big xSeries machines, we have a lot of slow rebooters. The 16GB intel boxes take at about 5 minutes to get back to the bootloader after a reboot, and the 4 and 8-quad NUMAQ's take closer to 10.
The IBM machines I've tried it on are a 4-way and 8-way PIII. They both have aic7xxx cards and the 8-way has a ServeRAID 4 controller. They have a collection of acenic, e1000, pcnet32 and eepro100 net cards. All seem to work just fine.
The NUMAQ is another story, though. I get nothing after "Starting new kernel". But, I wasn't expecting much. The NUMAQ is pretty weird hardware and god knows what is actually happening. I'll try it some more when I'm more confident in what I'm doing.
What's the deal with "FIXME assuming 64M of ram"? I was a little surprised when my 16GB machine started to OOM as I did a "make -j8 bzImage" :) Why is it that you need the memory size at load time?