qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] cpuid problem in upstream qemu with kvm


From: Dor Laor
Subject: Re: [Qemu-devel] cpuid problem in upstream qemu with kvm
Date: Mon, 21 Dec 2009 10:28:33 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0 ThunderBrowse/3.2.6.8

On 12/21/2009 09:43 AM, Gleb Natapov wrote:
On Sun, Dec 20, 2009 at 11:59:43AM -0600, Anthony Liguori wrote:
Gleb Natapov wrote:
Windows is a mystery box, so we can speculate as much as we want about it.
If you don't like something just say "it may break Windows" :) Losing
activation does sound like an issue too.

Downgrading seems more likely to cause problems.  Considering
running mplayer in a guest.  If it detects SSE3 in one host and
migrate to another host that doesn't have SSE3, you'll be running an
instruction stream that uses instructions the processor doesn't
support resulting in the application faulting due to an illegal
operation.

KVM's cpuid filter doesn't help here because it won't attempt to
mask things like sse3.  It would be insane to emulate sse3 too.

This is a classic problem with live migration.  You can detect this
scenario and potentially block the migration, but honestly, how
likely is it that any given guest is using an obscure feature?  This
is a classic management tool problem and the solution usually is a
set of heuristics depending on how conservative the target audience
is.

I am confused. We explicitly not talking about migration, why bring it
here? We are talking about casual user who can't care less about
migration, but he upgrades his home computer and Windows VM stops
working for him.

John's new cpu definitions are the exact solution for this issue - all users, whether using mgmt app or direct qemu (this is no user, this is a developer/hacker/other, let's do not optimize this case) should use the various 'real' cpu definitions like -cpu Merom | Nehalem | Penry | Opteron G1, ....

Qemu will check the required cpuid of the cpu model on the host and refuse to load otherwise. When moving to this model, migration can be simplified too since there are fewer combination, and one can choose performance over migration flexibility and wise versa. Due to the above check, the destination qemu won't load if the host does not support its cpu model.



--
                        Gleb.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]