Re: question on #UD emulation

Dong, Eddie
2007-12-16T14:42:02Z

[-- Attachment #1: Type: text/plain, Size: 3564 bytes --]

A little bit suspicion for the usage model too :(
The CPUID feature list can't be changed dynamically, so I doutb
if a real user will give up performance at beginning when he/she
starts the guest for "maybe" future migration cross host platform.

A VT or SVM enabled machine usually has many features
which doesn't exist in the common feature list for both Intel & AMD,
such as MMX/SSE2/SSE3. So the performance penalty could be big.

Eddie

________________________________

From: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org [mailto:kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] On Behalf Of Dor Laor
Sent: 2007年12月16日 20:50
To: Joerg Roedel
Cc: kvm-devel; Avi Kivity
Subject: Re: [kvm-devel] question on #UD emulation

Joerg Roedel wrote:

On Sun, Dec 16, 2007 at 01:32:40PM +0200, Avi Kivity wrote:
> Dong, Eddie wrote:
>
> > BTW, do we need to support live migrating an AMD VM to Intel platform or
> > vice versa
>
> Yes, it allows users to buy the machines with the best cost/performance
> ratio, rather than continue to buy machines from the same vendor all the
> time.

I don't agree with this. A user can still buy machines from both vendors
and migrate offline it he wants to. In general I think that allowing
live migration between Intel and AMD hosts is not a good idea because
you limit the guest to the subset of the CPU features available on both
platforms. This disallows many optimizations and costs performance for
the guest.

Having the option to live migrate between various hosts is a powerful feature.
Of course it costs some performance penalty but it might not be relevant for the user
work load.
By having cmd line parameters to control the cpuid and cpu type one can dynamically calculate
the lowest common denominator and to run his virtual machines using it.
One can always pass -cpu=host to have maximum performance.
For users who like to live migrate between Amd-Intel we'll use one of cpu types
for both.
Regards,
Dor

Take the problem Dor mentioned this week about the performance impact of
the gettimeofday() syscall causing many cpuid guest exits. If we had
not to support migration between AMD and Intel we could simply propagate
FEATURE_RDTSCP to an guest on AMD an SYNC_RDTSC on Intel platforms. The
Linux get_cycles_sync() function would then no longer execute CPUID.
This is only one example, I found some more during my work on KVM.

Joerg

--
| AMD Saxony Limited Liability Company & Co. KG
Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
System | Register Court Dresden: HRA 4896
Research | General Partner authorized to represent:
Center | AMD Saxony LLC (Wilmington, Delaware, US)
| General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel

[-- Attachment #2: Type: text/plain, Size: 308 bytes --]

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

[-- Attachment #3: Type: text/plain, Size: 186 bytes --]

_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org