rumpkernel / rumprun

The Rumprun unikernel and toolchain for various platforms
Other
1.14k stars 128 forks source link

qboot #54

Open davedoesdev opened 9 years ago

davedoesdev commented 9 years ago

I'm wondering if qboot would be of use. You can find some timings I did here.

anttikantee commented 9 years ago

Would faster boot times be of use? ... umm, not sure why anyone would say "no". What's the actual question?

davedoesdev commented 9 years ago

Is rump compiled as multiboot or does it have a vmlinuz-style header?

mato commented 9 years ago

Rumprun is complied as multiboot, so for the case of direct kernel boot no firmware is required. I don't follow what the advantage of qboot would be, in any case it seems out of scope of the rumprun project.

anttikantee commented 9 years ago

Based on eyeballing, it takes half a second from running qemu to the initial output. No sure if it comes from ld.so churning qemu's 100 libs or where, but it's quite observable and matches the time quoted in the above link (+). So there is definitely room for improvement; e.g. the "boot vm in SYN-to-ACK timeslot" crowd would definitely find improvement useful. The fast boot does not have to be on by default if it requires convoluted things like compiling your own qemu, but at least we should understand all the factors.

+) thought, not sure if the "40ms on i7" is "500ms on my core2"

davedoesdev commented 9 years ago

Yes, so make this a suggestion for detailed timing breakdowns.

anttikantee commented 9 years ago

So the question is if such an analysis would be useful to have? Yes, absolutely.

related: @mato how's the KVM clock driver coming along? At 100ms, the current clock calibration takes many times longer than all other guestside bootstrap combined.

avsm commented 9 years ago

xhyve supports the kexec boot protocol which frees it for the need to have firmware emulation. Works pretty well for Linux... https://www.kernel.org/doc/Documentation/x86/boot.txt

mato commented 9 years ago

@avsm: Ugh. That document is a history of the entire legacy of the PC architecture. Re. xhyve, does upstream bhyve also support kexec?

avsm commented 9 years ago

Yeah, it's a big doc. I believe bhyve has a different boot scheme (see https://github.com/grehan-freebsd/grub2-bhyve) https://github.com/grehan-freebsd/grub2-bhyve than xhyve (which avoided the need for firmware by implementing kexec as the easiest way to boot Linux)

https://github.com/grehan-freebsd/grub2-bhyveOn 14 Oct 2015, at 11:12, Martin Lucina notifications@github.com wrote:

@avsm https://github.com/avsm: Ugh. That document is a history of the entire legacy of the PC architecture. Re. xhyve, does upstream bhyve also support kexec?

— Reply to this email directly or view it on GitHub https://github.com/rumpkernel/rumprun/issues/54#issuecomment-148002834.