Preferences

jevinskie parent
I'd like to hear stories about people using QEMU in production. Do people think it is a viable option for automated ARM Android testing?

I've worked on 2 large telecoms projects where automated full-system testing occurred using ARM emulators. Also, the stock Android emulator is Qemu (or at least was, last time I checked), and many people do automated testing using that.
devicenull
Er, what? QEMU is used very frequently with KVM. There are many companies providing KVM instances, so QEMU is pretty widely used in production. Did you have a more specific question?
wtallis
Xen also uses QEMU, in pretty much the same manner as KVM.
bonzini
That's not entirely true. Xen uses QEMU only to execute I/O. It gets I/O requests on a ring buffer and services them. CPUs are handled by the hypervisor.

With KVM, QEMU actually runs the code for the virtual machine; it just does that inside the KVM kernel module.

This means, for example, that only with KVM you can profile each VCPU simply using "perf". Also, features that require code to run in the CPU threads (for example slowing down CPUs so that migration can converge better) will not work with Xen.

stefanha
I believe the Android emulator is now quite different from mainline QEMU. No efforts have been made to merge patches back into QEMU, so the Android emulator is basically a fork of QEMU.

That said, ARM development in QEMU is very active right now and its only a matter of time before one of the supported QEMU ARM targets also happens to be a platform with good Android support.

TL;DR consider sticking to the official Android emulator for now but keep an eye on QEMU.

cabbeer
I'm pretty sure digital ocean uses it in production

This item has no comments currently.