Live data from Hacker News

QEMU 10.1.0

wiki.qemu.org

1–10 of 61 posts

Re: QEMU 10.1.0

#3
QEMU is truly excellent software, from the perspective of a person who very rarely needs to emulate another architecture. It "just works" and has wonderful integrations with basically everything I could want.. sometimes it feels like magic: even if the commandline UX is a bit weird in places.

I've always wondered though how it works with KVM: I know KVM is a virtualisation accelerator that enables passing through native code to the CPU somehow; but it feels like QEMU/KVM basically runs the internet now. Almost the entire modern cloud is built on QEMU and KVM as a hypervisor (right?) but I feel like I'm missing a lot about how it's working.

I also wonder if this steals huge amounts of resources away from emulation, or does it end up helping out. Because to say the modern internet is largely running on QEMU is likely a massive understatement.

Re: QEMU 10.1.0

#5
post #3

QEMU is truly excellent software, from the perspective of a person who very rarely needs to emulate another architecture. It "just works" and has wonderful integrations with basically everything I could want.. sometimes it feels like magic: even if the commandline UX is a bit weird in places. I've always wondered though how it works with KVM: I know KVM is a virtualisation accelerator that enables passing through nat…

Not everything uses qemu. Some do. More use KVM. Not everything does.

Example: https://firecracker-microvm.github.io/

Re: QEMU 10.1.0

#6
post #3

QEMU is truly excellent software, from the perspective of a person who very rarely needs to emulate another architecture. It "just works" and has wonderful integrations with basically everything I could want.. sometimes it feels like magic: even if the commandline UX is a bit weird in places. I've always wondered though how it works with KVM: I know KVM is a virtualisation accelerator that enables passing through nat…

Yeah I also found myself curious as to how KVM actually works, I found these helpful

https://www.kernel.org/doc/ols/2007/ols2007v1-pages-225-230.... http://www.haifux.org/lectures/312/High-Level%20Introduction... https://zserge.com/posts/kvm/

Re: QEMU 10.1.0

#7
post #3

QEMU is truly excellent software, from the perspective of a person who very rarely needs to emulate another architecture. It "just works" and has wonderful integrations with basically everything I could want.. sometimes it feels like magic: even if the commandline UX is a bit weird in places. I've always wondered though how it works with KVM: I know KVM is a virtualisation accelerator that enables passing through nat…

Resources-wise there's not really any "stealing" going on. The people/companies who care about KVM and the virtualization use cases work on that, and the people/companies who care about emulation work on those parts. If QEMU didn't support virtualization then it's not like the people currently working on QEMU virtualization would shift over to emulation support: they'd be working on some other project instead to achieve their VM goals.

Re: QEMU 10.1.0

#8
A great piece of software that makes my and my dev team's life infinitely better and easier. A big thank you to the QEMU developers :)

Re: QEMU 10.1.0

#9
post #3

QEMU is truly excellent software, from the perspective of a person who very rarely needs to emulate another architecture. It "just works" and has wonderful integrations with basically everything I could want.. sometimes it feels like magic: even if the commandline UX is a bit weird in places. I've always wondered though how it works with KVM: I know KVM is a virtualisation accelerator that enables passing through nat…

Yeah I also found myself curious as to how KVM actually works, I found these helpful https://www.kernel.org/doc/ols/2007/ols2007v1-pages-225-230.... http://www.haifux.org/lectures/312/High-Level%20Introduction... https://zserge.com/posts/kvm/

Awesome, thanks for the entrypoint!

Re: QEMU 10.1.0

#10
post #3

QEMU is truly excellent software, from the perspective of a person who very rarely needs to emulate another architecture. It "just works" and has wonderful integrations with basically everything I could want.. sometimes it feels like magic: even if the commandline UX is a bit weird in places. I've always wondered though how it works with KVM: I know KVM is a virtualisation accelerator that enables passing through nat…

KVM is basically three components.

* An abstraction over second level page tables to map some of a host user process as what the guest thinks of as physical memory.

* An abstraction to jump into the context that uses those page tables, and traps back out in the case of anything that the hardware would normally handle, but the hypervisor wants to handle manually instead.

* A collection of mechanisms to handle some of those traps in kernel space to avoid having to context switch back out to the host user process if the kind of trap is common enough, both in the sense of the trap itself happens often enough to show up on perf graphs, as well as the abstraction being exercised is relatively standard (think interrupt controllers and timers).

Let me know if you have any other questions.

Post reply on HN