On 09/10/2018 16:23, Daniel P. Berrangé wrote: >>> >>> (And I'd prefer kvm to be first in that list; anything that relies on >>> tcg being used should specify it explicitly... a normal user will >>> likely always want the fast variant.) >> tcg should be the default for binaries without KVM compiled in, >> of course... But as Thomas points out, the reason for our current >> default is the usual "because we tend not to change things that >> would break existing working command lines".
... and because we rely on people that want KVM using almost always the distro qemu-kvm. > Putting KVM first shouldn't break existing working command lines > in general. > > If user doesn't have KVM it won't have any impact as it'll still > fallback to TCG. If user does have KVM, their VMs will be faster. > > It could conceivably break if > > - TCG had some different behaviour to KVM that > the guest relied upon (we should fix such differences) TCG can emulate stuff that doesn't exist in the host processor (e.g. MPX, PKRU, and on older processors SMEP/SMAP though those should be ubiquitous). There are (or were) CI systems for the kernel that were using it that way. Paolo > - KVM kmod was buggy (eg broken nested virt, again should be > something we fix) > - If the guest OS relied on things being slow (that's already > fragile) > > IMHO we should assume that TCG & KVM are functionally equivalent > and non-broken, and thus changing default accelerator should not > be considered an incompatible change.