public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] Recommendation for CPU type in QEMU?
@ 2013-07-31 10:11 Walter Dnes
  2013-07-31 10:45 ` Kerin Millar
  2013-07-31 11:31 ` Marc Joliet
  0 siblings, 2 replies; 11+ messages in thread
From: Walter Dnes @ 2013-07-31 10:11 UTC (permalink / raw
  To: Gentoo Users List

  I'm looking at setting up 32-bit WINE to run a 32-bit Windows app.
Since I'm on a pure 64-bit (no multi-lib) machine, that doesn't exactly
work, which is why I'm looking at QEMU.  I need to run WINE in 32 bit
mode, on a 32-bit install in a VM.  Is a 64-bit virtual cpu type
recommended anyways?  Are the "qemu" and "kvm" cpu types faster/slower?
And what would they be listed as in the kernel .config?

  I'm not familiar with all the weird codenames for Intel's chips.
What's the hierarchy between Nehalem/Westmere/SandyBridge/Haswell ?
Here's the list of available types...

[i660][waltdnes][~/qemu] sudo /usr/bin/qemu-kvm -cpu help
x86           qemu64  QEMU Virtual CPU version 1.4.2                  
x86           phenom  AMD Phenom(tm) 9550 Quad-Core Processor         
x86         core2duo  Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz 
x86            kvm64  Common KVM processor                            
x86           qemu32  QEMU Virtual CPU version 1.4.2                  
x86            kvm32  Common 32-bit KVM processor                     
x86          coreduo  Genuine Intel(R) CPU           T2600  @ 2.16GHz 
x86              486                                                  
x86          pentium                                                  
x86         pentium2                                                  
x86         pentium3                                                  
x86           athlon  QEMU Virtual CPU version 1.4.2                  
x86             n270  Intel(R) Atom(TM) CPU N270   @ 1.60GHz          
x86           Conroe  Intel Celeron_4x0 (Conroe/Merom Class Core 2)   
x86           Penryn  Intel Core 2 Duo P9xxx (Penryn Class Core 2)    
x86          Nehalem  Intel Core i7 9xx (Nehalem Class Core i7)       
x86         Westmere  Westmere E56xx/L56xx/X56xx (Nehalem-C)          
x86      SandyBridge  Intel Xeon E312xx (Sandy Bridge)                
x86          Haswell  Intel Core Processor (Haswell)                  
x86       Opteron_G1  AMD Opteron 240 (Gen 1 Class Opteron)           
x86       Opteron_G2  AMD Opteron 22xx (Gen 2 Class Opteron)          
x86       Opteron_G3  AMD Opteron 23xx (Gen 3 Class Opteron)          
x86       Opteron_G4  AMD Opteron 62xx class CPU                      
x86       Opteron_G5  AMD Opteron 63xx class CPU 

-- 
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-07-31 10:11 [gentoo-user] Recommendation for CPU type in QEMU? Walter Dnes
@ 2013-07-31 10:45 ` Kerin Millar
  2013-08-01  1:02   ` Walter Dnes
  2013-07-31 11:31 ` Marc Joliet
  1 sibling, 1 reply; 11+ messages in thread
From: Kerin Millar @ 2013-07-31 10:45 UTC (permalink / raw
  To: gentoo-user

On 31/07/2013 11:11, Walter Dnes wrote:
>    I'm looking at setting up 32-bit WINE to run a 32-bit Windows app.
> Since I'm on a pure 64-bit (no multi-lib) machine, that doesn't exactly
> work, which is why I'm looking at QEMU.  I need to run WINE in 32 bit
> mode, on a 32-bit install in a VM.  Is a 64-bit virtual cpu type
> recommended anyways?  Are the "qemu" and "kvm" cpu types faster/slower?
> And what would they be listed as in the kernel .config?
>
>    I'm not familiar with all the weird codenames for Intel's chips.
> What's the hierarchy between Nehalem/Westmere/SandyBridge/Haswell ?
> Here's the list of available types...
>
> [i660][waltdnes][~/qemu] sudo /usr/bin/qemu-kvm -cpu help

Please provide the content of /proc/cpuinfo on the host.

--Kerin



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-07-31 10:11 [gentoo-user] Recommendation for CPU type in QEMU? Walter Dnes
  2013-07-31 10:45 ` Kerin Millar
@ 2013-07-31 11:31 ` Marc Joliet
  2013-07-31 12:12   ` Kerin Millar
  1 sibling, 1 reply; 11+ messages in thread
From: Marc Joliet @ 2013-07-31 11:31 UTC (permalink / raw
  To: gentoo-user

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

Am Wed, 31 Jul 2013 06:11:24 -0400
schrieb "Walter Dnes" <waltdnes@waltdnes.org>:

>   I'm looking at setting up 32-bit WINE to run a 32-bit Windows app.
> Since I'm on a pure 64-bit (no multi-lib) machine, that doesn't exactly
> work, which is why I'm looking at QEMU.  I need to run WINE in 32 bit
> mode, on a 32-bit install in a VM.  Is a 64-bit virtual cpu type
> recommended anyways?  Are the "qemu" and "kvm" cpu types faster/slower?
> And what would they be listed as in the kernel .config?
> 
>   I'm not familiar with all the weird codenames for Intel's chips.
> What's the hierarchy between Nehalem/Westmere/SandyBridge/Haswell ?
> Here's the list of available types...
> 
> [i660][waltdnes][~/qemu] sudo /usr/bin/qemu-kvm -cpu help
> x86           qemu64  QEMU Virtual CPU version 1.4.2                  
> x86           phenom  AMD Phenom(tm) 9550 Quad-Core Processor         
> x86         core2duo  Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz 
> x86            kvm64  Common KVM processor                            
> x86           qemu32  QEMU Virtual CPU version 1.4.2                  
> x86            kvm32  Common 32-bit KVM processor                     
> x86          coreduo  Genuine Intel(R) CPU           T2600  @ 2.16GHz 
> x86              486                                                  
> x86          pentium                                                  
> x86         pentium2                                                  
> x86         pentium3                                                  
> x86           athlon  QEMU Virtual CPU version 1.4.2                  
> x86             n270  Intel(R) Atom(TM) CPU N270   @ 1.60GHz          
> x86           Conroe  Intel Celeron_4x0 (Conroe/Merom Class Core 2)   
> x86           Penryn  Intel Core 2 Duo P9xxx (Penryn Class Core 2)    
> x86          Nehalem  Intel Core i7 9xx (Nehalem Class Core i7)       
> x86         Westmere  Westmere E56xx/L56xx/X56xx (Nehalem-C)          
> x86      SandyBridge  Intel Xeon E312xx (Sandy Bridge)                
> x86          Haswell  Intel Core Processor (Haswell)                  
> x86       Opteron_G1  AMD Opteron 240 (Gen 1 Class Opteron)           
> x86       Opteron_G2  AMD Opteron 22xx (Gen 2 Class Opteron)          
> x86       Opteron_G3  AMD Opteron 23xx (Gen 3 Class Opteron)          
> x86       Opteron_G4  AMD Opteron 62xx class CPU                      
> x86       Opteron_G5  AMD Opteron 63xx class CPU 
> 

There's also "-cpu host", which simply passes your CPU through to the guest.
That's what I use for my 32 bit WinXP VM. You can use it if you don't mind not
being able to migrate your guest, but it sounds to me like you're doing this on
a desktop machine, so I suspect guest migration doesn't matter to you.

-- 
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-07-31 11:31 ` Marc Joliet
@ 2013-07-31 12:12   ` Kerin Millar
  2013-08-03 14:55     ` Marc Joliet
  0 siblings, 1 reply; 11+ messages in thread
From: Kerin Millar @ 2013-07-31 12:12 UTC (permalink / raw
  To: gentoo-user

On 31/07/2013 12:31, Marc Joliet wrote:

[snip]

>
> There's also "-cpu host", which simply passes your CPU through to the guest.
> That's what I use for my 32 bit WinXP VM. You can use it if you don't mind not
> being able to migrate your guest, but it sounds to me like you're doing this on
> a desktop machine, so I suspect guest migration doesn't matter to you.
>

I thought the same until very recently but it's not the case. The -cpu 
host feature exposes all feature bits supported by qemu. Those may 
include features that aren't supported in hardware by the host CPU, in 
which case qemu has to resort to (slow) emulation if they are used.

--Kerin


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-07-31 10:45 ` Kerin Millar
@ 2013-08-01  1:02   ` Walter Dnes
  2013-08-01  6:41     ` Michael Hampicke
  0 siblings, 1 reply; 11+ messages in thread
From: Walter Dnes @ 2013-08-01  1:02 UTC (permalink / raw
  To: gentoo-user

On Wed, Jul 31, 2013 at 11:45:48AM +0100, Kerin Millar wrote

> Please provide the content of /proc/cpuinfo on the host.

  The first one is my shiney almost new desktop (Dell Inspiron 660) and
the second one is my "hot backup" (more like emergency backup, 6-year-old
Dell Dimension 530).  I'll be on the new machine unless it breaks.  But
I do want to be able to port the QEMU VM to the older machine as part of
its "hot backup" status.

  On any other distro, it wouldn't matter, but I have "-march=native" in
make.conf, so I do have to worry about keeping binaries compatable.  If
I build for "Intel Core 2 Duo CPU E4600" on both machines, would I be
losing noticable performance?  Right now, it's just one Windows program
that I'll be running occasionally.  So I'd rather trade off a bit less
speed on the new machine, versus compatability issues.  I also prefer to
be able to scp the VM disk images to the backup machine, rather than
having to do a separate install on each machine.

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 58
model name      : Intel(R) Core(TM) i5-3330 CPU @ 3.00GHz
stepping        : 9
microcode       : 0x15
cpu MHz         : 2993.981
cache size      : 6144 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
bogomips        : 5987.96
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 Duo CPU     E4600  @ 2.40GHz
stepping        : 13
microcode       : 0xa1
cpu MHz         : 2400.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm
bogomips        : 4788.45
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

-- 
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-08-01  1:02   ` Walter Dnes
@ 2013-08-01  6:41     ` Michael Hampicke
  2013-08-01 21:38       ` Walter Dnes
  0 siblings, 1 reply; 11+ messages in thread
From: Michael Hampicke @ 2013-08-01  6:41 UTC (permalink / raw
  To: gentoo-user

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

Am 01.08.2013 03:02, schrieb Walter Dnes:
> On Wed, Jul 31, 2013 at 11:45:48AM +0100, Kerin Millar wrote
> 
>> Please provide the content of /proc/cpuinfo on the host.
> 
>   The first one is my shiney almost new desktop (Dell Inspiron 660) and
> the second one is my "hot backup" (more like emergency backup, 6-year-old
> Dell Dimension 530).  I'll be on the new machine unless it breaks.  But
> I do want to be able to port the QEMU VM to the older machine as part of
> its "hot backup" status.
> 
>   On any other distro, it wouldn't matter, but I have "-march=native" in
> make.conf, so I do have to worry about keeping binaries compatable.  If
> I build for "Intel Core 2 Duo CPU E4600" on both machines, would I be
> losing noticable performance?  Right now, it's just one Windows program
> that I'll be running occasionally.  So I'd rather trade off a bit less
> speed on the new machine, versus compatability issues.  I also prefer to
> be able to scp the VM disk images to the backup machine, rather than
> having to do a separate install on each machine.
> 

You can use march=native on your gentoo hosts, that's no problem, as
long as you don't use it on your guests. That's the hole idea of VMs:
being able to move the virtual machine to another machine, that might be
completely different in terms of hardware. The goal is, to be machine
independent.

In your case, I'd say it would make sense to chose "core2duo" as qemu
host cpu. Both of your host cpus support the feature set of core2duo, so
no performance penalty for costly software emulation of missing cpu
features :-)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-08-01  6:41     ` Michael Hampicke
@ 2013-08-01 21:38       ` Walter Dnes
  2013-08-01 22:14         ` Kerin Millar
  0 siblings, 1 reply; 11+ messages in thread
From: Walter Dnes @ 2013-08-01 21:38 UTC (permalink / raw
  To: gentoo-user

On Thu, Aug 01, 2013 at 08:41:56AM +0200, Michael Hampicke wrote

> You can use march=native on your gentoo hosts, that's no problem, as
> long as you don't use it on your guests. That's the hole idea of VMs:
> being able to move the virtual machine to another machine, that might be
> completely different in terms of hardware. The goal is, to be machine
> independent.

  I want to clarify one item, so please pardon me if it looks like I'm
asking the same question over again.  Assume that I launch QEMU with
"-cpu core2duo" and set "-march=native" in the guest's make.conf.  My
understanding is that the gcc compiler on the guest will see a core2duo,
not the physical i5 cpu on my desktop.

  We may be looking at different ways of doing the same thing.  You're
suggesting "-march=core2" in the guest's make.conf.  I'm suggesting
"-march=native" in the guest's make.conf, which would pick up the cpu
type that QEMU sets (cor2duo).  I'm trying to make things simpler, by
only having to specify the cpu type once, on the QEMU commandline, and
leaving gcc to adapt to the QEMU-specified cpu.

-- 
Walter Dnes <waltdnes@waltdnes.org>
I don't run "desktop environments"; I run useful applications


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-08-01 21:38       ` Walter Dnes
@ 2013-08-01 22:14         ` Kerin Millar
  0 siblings, 0 replies; 11+ messages in thread
From: Kerin Millar @ 2013-08-01 22:14 UTC (permalink / raw
  To: gentoo-user

On 01/08/2013 22:38, Walter Dnes wrote:
> On Thu, Aug 01, 2013 at 08:41:56AM +0200, Michael Hampicke wrote
>
>> You can use march=native on your gentoo hosts, that's no problem, as
>> long as you don't use it on your guests. That's the hole idea of VMs:
>> being able to move the virtual machine to another machine, that might be
>> completely different in terms of hardware. The goal is, to be machine
>> independent.
>
>    I want to clarify one item, so please pardon me if it looks like I'm
> asking the same question over again.  Assume that I launch QEMU with
> "-cpu core2duo" and set "-march=native" in the guest's make.conf.  My
> understanding is that the gcc compiler on the guest will see a core2duo,
> not the physical i5 cpu on my desktop.

That's correct. Try running this in the guest:

gcc -march=native -Q --help=target | grep march | awk '{print $2}'

>
>    We may be looking at different ways of doing the same thing.  You're
> suggesting "-march=core2" in the guest's make.conf.  I'm suggesting
> "-march=native" in the guest's make.conf, which would pick up the cpu
> type that QEMU sets (cor2duo).  I'm trying to make things simpler, by
> only having to specify the cpu type once, on the QEMU commandline, and
> leaving gcc to adapt to the QEMU-specified cpu.

--Kerin



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-07-31 12:12   ` Kerin Millar
@ 2013-08-03 14:55     ` Marc Joliet
  2013-08-06 13:14       ` Kerin Millar
  0 siblings, 1 reply; 11+ messages in thread
From: Marc Joliet @ 2013-08-03 14:55 UTC (permalink / raw
  To: gentoo-user

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

Am Wed, 31 Jul 2013 13:12:01 +0100
schrieb Kerin Millar <kerframil@fastmail.co.uk>:

> On 31/07/2013 12:31, Marc Joliet wrote:
> 
> [snip]
> 
> >
> > There's also "-cpu host", which simply passes your CPU through to the guest.
> > That's what I use for my 32 bit WinXP VM. You can use it if you don't mind not
> > being able to migrate your guest, but it sounds to me like you're doing this on
> > a desktop machine, so I suspect guest migration doesn't matter to you.
> >
> 
> I thought the same until very recently but it's not the case. The -cpu 
> host feature exposes all feature bits supported by qemu. Those may 
> include features that aren't supported in hardware by the host CPU, in 
> which case qemu has to resort to (slow) emulation if they are used.
> 
> --Kerin

Just a follow up: the most authoritative answer I could find is this:

  http://thread.gmane.org/gmane.comp.emulators.kvm.devel/84227/focus=90541

Furthermore, the Linux KVM tuning page also defines "-cpu host" as I understand
it:

  http://www.linux-kvm.org/page/Tuning_KVM

From the above I conclude that "-cpu host" should *not* activate CPU features
that the host CPU does not support.

Otherwise I could only find out the following:

- the Gentoo and Arch wikis both recommend "-cpu host" in conjunction with KVM
  (see, e.g., http://wiki.gentoo.org/wiki/QEMU/Options)
- in contrast, http://wiki.qemu.org/Features/CPUModels#-cpu_host_vs_-cpu_best
  seems to match your statement
- some guy on serverfault.com says this
  (http://serverfault.com/questions/404195/kvm-which-cpu-features-make-vms-run-better):

  "Qemu doesn't work in the same way many other hypervisors do. For starters, it
  can provide full emulation. That means you can run x86 code on an ARM
  processor, for example. When in KVM mode, as you're using it, it doesn't
  actually do that... the processor is exposed no matter what, but what is 
  reported to the OS will be changed by the -cpu flag."

  If that's correct, "-cpu host" might mean different things when in KVM
  mode vs. when not. However I'm not going to blindly trust that statement.

How/where did you find out that "-cpu host" also exposes non-host CPU features?

-- 
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-08-03 14:55     ` Marc Joliet
@ 2013-08-06 13:14       ` Kerin Millar
  2013-08-06 15:59         ` Marc Joliet
  0 siblings, 1 reply; 11+ messages in thread
From: Kerin Millar @ 2013-08-06 13:14 UTC (permalink / raw
  To: gentoo-user

On 03/08/2013 15:55, Marc Joliet wrote:
> Am Wed, 31 Jul 2013 13:12:01 +0100
> schrieb Kerin Millar <kerframil@fastmail.co.uk>:
>
>> On 31/07/2013 12:31, Marc Joliet wrote:
>>
>> [snip]
>>
>>>
>>> There's also "-cpu host", which simply passes your CPU through to the guest.
>>> That's what I use for my 32 bit WinXP VM. You can use it if you don't mind not
>>> being able to migrate your guest, but it sounds to me like you're doing this on
>>> a desktop machine, so I suspect guest migration doesn't matter to you.
>>>
>>
>> I thought the same until very recently but it's not the case. The -cpu
>> host feature exposes all feature bits supported by qemu. Those may
>> include features that aren't supported in hardware by the host CPU, in
>> which case qemu has to resort to (slow) emulation if they are used.
>>
>> --Kerin
>
> Just a follow up: the most authoritative answer I could find is this:
>
>    http://thread.gmane.org/gmane.comp.emulators.kvm.devel/84227/focus=90541
>
> Furthermore, the Linux KVM tuning page also defines "-cpu host" as I understand
> it:
>
>    http://www.linux-kvm.org/page/Tuning_KVM
>
>  From the above I conclude that "-cpu host" should *not* activate CPU features
> that the host CPU does not support.
>
> Otherwise I could only find out the following:
>
> - the Gentoo and Arch wikis both recommend "-cpu host" in conjunction with KVM
>    (see, e.g., http://wiki.gentoo.org/wiki/QEMU/Options)
> - in contrast, http://wiki.qemu.org/Features/CPUModels#-cpu_host_vs_-cpu_best
>    seems to match your statement
> - some guy on serverfault.com says this
>    (http://serverfault.com/questions/404195/kvm-which-cpu-features-make-vms-run-better):
>
>    "Qemu doesn't work in the same way many other hypervisors do. For starters, it
>    can provide full emulation. That means you can run x86 code on an ARM
>    processor, for example. When in KVM mode, as you're using it, it doesn't
>    actually do that... the processor is exposed no matter what, but what is
>    reported to the OS will be changed by the -cpu flag."
>
>    If that's correct, "-cpu host" might mean different things when in KVM
>    mode vs. when not. However I'm not going to blindly trust that statement.
>
> How/where did you find out that "-cpu host" also exposes non-host CPU features?
>

I checked the code and you're right. I had obtained the information from 
the qemu wiki but can now only assume that the content was discussing 
the feature before its implementation became concrete. Lesson to self: 
don't believe everything one reads in wikis (even official ones).

--Kerin


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [gentoo-user] Recommendation for CPU type in QEMU?
  2013-08-06 13:14       ` Kerin Millar
@ 2013-08-06 15:59         ` Marc Joliet
  0 siblings, 0 replies; 11+ messages in thread
From: Marc Joliet @ 2013-08-06 15:59 UTC (permalink / raw
  To: gentoo-user

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

Am Tue, 06 Aug 2013 14:14:32 +0100
schrieb Kerin Millar <kerframil@fastmail.co.uk>:

> On 03/08/2013 15:55, Marc Joliet wrote:
> > Am Wed, 31 Jul 2013 13:12:01 +0100
> > schrieb Kerin Millar <kerframil@fastmail.co.uk>:
> >
> >> On 31/07/2013 12:31, Marc Joliet wrote:
> >>
> >> [snip]
> >>
> >>>
> >>> There's also "-cpu host", which simply passes your CPU through to the guest.
> >>> That's what I use for my 32 bit WinXP VM. You can use it if you don't mind not
> >>> being able to migrate your guest, but it sounds to me like you're doing this on
> >>> a desktop machine, so I suspect guest migration doesn't matter to you.
> >>>
> >>
> >> I thought the same until very recently but it's not the case. The -cpu
> >> host feature exposes all feature bits supported by qemu. Those may
> >> include features that aren't supported in hardware by the host CPU, in
> >> which case qemu has to resort to (slow) emulation if they are used.
> >>
> >> --Kerin
> >
> > Just a follow up: the most authoritative answer I could find is this:
> >
> >    http://thread.gmane.org/gmane.comp.emulators.kvm.devel/84227/focus=90541
> >
> > Furthermore, the Linux KVM tuning page also defines "-cpu host" as I understand
> > it:
> >
> >    http://www.linux-kvm.org/page/Tuning_KVM
> >
> >  From the above I conclude that "-cpu host" should *not* activate CPU features
> > that the host CPU does not support.
> >
> > Otherwise I could only find out the following:
> >
> > - the Gentoo and Arch wikis both recommend "-cpu host" in conjunction with KVM
> >    (see, e.g., http://wiki.gentoo.org/wiki/QEMU/Options)
> > - in contrast, http://wiki.qemu.org/Features/CPUModels#-cpu_host_vs_-cpu_best
> >    seems to match your statement
> > - some guy on serverfault.com says this
> >    (http://serverfault.com/questions/404195/kvm-which-cpu-features-make-vms-run-better):
> >
> >    "Qemu doesn't work in the same way many other hypervisors do. For starters, it
> >    can provide full emulation. That means you can run x86 code on an ARM
> >    processor, for example. When in KVM mode, as you're using it, it doesn't
> >    actually do that... the processor is exposed no matter what, but what is
> >    reported to the OS will be changed by the -cpu flag."
> >
> >    If that's correct, "-cpu host" might mean different things when in KVM
> >    mode vs. when not. However I'm not going to blindly trust that statement.
> >
> > How/where did you find out that "-cpu host" also exposes non-host CPU features?
> >
> 
> I checked the code and you're right. I had obtained the information from 
> the qemu wiki but can now only assume that the content was discussing 
> the feature before its implementation became concrete. Lesson to self: 
> don't believe everything one reads in wikis (even official ones).
> 
> --Kerin

Great, thanks for checking! Now I can be sure I'm not doing anything wrong here.

-- 
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-08-06 16:01 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-31 10:11 [gentoo-user] Recommendation for CPU type in QEMU? Walter Dnes
2013-07-31 10:45 ` Kerin Millar
2013-08-01  1:02   ` Walter Dnes
2013-08-01  6:41     ` Michael Hampicke
2013-08-01 21:38       ` Walter Dnes
2013-08-01 22:14         ` Kerin Millar
2013-07-31 11:31 ` Marc Joliet
2013-07-31 12:12   ` Kerin Millar
2013-08-03 14:55     ` Marc Joliet
2013-08-06 13:14       ` Kerin Millar
2013-08-06 15:59         ` Marc Joliet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox