qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] KVM call minutes for 2013-08-06
@ 2013-08-06 15:15 Juan Quintela
  2013-08-06 15:47 ` Paolo Bonzini
  0 siblings, 1 reply; 3+ messages in thread
From: Juan Quintela @ 2013-08-06 15:15 UTC (permalink / raw)
  To: KVM devel mailing list, qemu-devel qemu-devel


Hi

if you find that Today minutes are better than usual,  I am learning to
delegate and ask people for help.  Thanks to:
- mst
- eduardo
- stephan


2013-08-06
----------

What libvirt needs/miss Today?
- how to handle machine types? creating them inside qemu?
- qemu --cpu help
  only shows cpus,  not what features qemu will use
- qemu -cpu host
  what does this exactly means?  kvm removes same flags.
- Important to know if migration would work.
- Machine types sometimes disable some feature, so cpu alone is not
  enough.

- if kvm initialization fails, we should fall back to tcg, depending
  of command line options.

- migration is not the only user case
  openstack choose host depending on what features the hosts have.

- not easy shortcut that creating a guest with that options and query
  if features are there or not.

- this information is "static",  but it depends on:
  * configuration files
  * machine type
  * command line options
  * ....

- So it is complicated to get it without launching a guest with the
  current command line.

- Libvirt wants it because it is slow to use it,  so they cache the information.

- Libvirt creates a big table of supported options

- At this point, libvirt don't export this information to its users

- Anthony would send a qmp command proposal to qemu-devel@

- -cpu host "is not supported from cross-machine migration"
  you need to use -cpu host to check what features the host have.

- kernel removes some features because it knows it can't be virtualised
- qemu adds some others because it knows it don't need host support
- and then lots of features in the middle

Probing for host information ("-cpu host" details):
 * Needed to find out if it's possible to create or migrate a VM, or to choose an appropriate host to migrate to
 * Depends on host capabilities: CPU host capabilities, kernel capabilities (kernel version), QEMU capabilities (kernel version)
 * Does not depend on machine-type
 * libvirt will probably want to build a table beforehand, with information about all hosts
 * Note that live-migration of "-cpu host" is not supported, but we use the "-cpu host" results as a way to find out about host capabilities
 * Problem: allowing it to be probed using "-machine none"
   * Needs KVM to be initialized
   * Solution: add KVM to be requested with fallback to TCG (does it work today?)
   * libvirt should be able to create a "-cpu host" CPU object, query for its information, and destroy it
Probing for the actual results of a given machine-type + CPU model combination:
 * Depends on machine-type
 * MUST NOT depend on host capabilities, otherwise migration would be already broken
 * Probably no need to build a large table with all machine-type/CPU-models combinations beforehand. Just querying for the information on the VM before migrating it should be enough?
 * Anyway, if libvirt needs to query for all combinations beforehand, we may provide a QMP command to apply compat properties from a machine-type (suggestion by Anthony)


* pvpanic
- was added by default in 1.5, this might have been too rash:
	- might change guest behaviour if guest is set to reboot on panic
	- might cause slightly annoying warnings/queries from device
	  manager
	- generally somewhat inelegant/non-symmetrical, libvirt
	  developers prefer "no magic devices"
- conclusions:
	- for -M 1.6, will change QEMU don't add by default, teach libvirt to add
	  with -device pvpanic
	- separately discuss doing same for 1.5 stable branch and -M 1.5
	  on mailing list

* reverse execution for qemu
  caturing IO is complicated
  determinising and the clocks
  how it relates with kemari
  you don't need to wait for two weeks.
  they do a fork as an snapshot instead of getting the machine to snapshot itself.
  merging forks and threads: enough said.
  icount changes for reverse execution will probably conflict with qemu-timer.c changes for thread-safety and AioContext timers.

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

* Re: [Qemu-devel] KVM call minutes for 2013-08-06
  2013-08-06 15:15 [Qemu-devel] KVM call minutes for 2013-08-06 Juan Quintela
@ 2013-08-06 15:47 ` Paolo Bonzini
  2013-08-06 17:01   ` Gleb Natapov
  0 siblings, 1 reply; 3+ messages in thread
From: Paolo Bonzini @ 2013-08-06 15:47 UTC (permalink / raw)
  To: quintela; +Cc: qemu-devel qemu-devel, KVM devel mailing list

On 08/06/2013 05:15 PM, Juan Quintela wrote:
> * pvpanic
> - was added by default in 1.5, this might have been too rash:
> 	- might change guest behaviour if guest is set to reboot on panic

Interesting, but it looks like either a feature or a driver bug.

> 	- might cause slightly annoying warnings/queries from device
> 	  manager
> 	- generally somewhat inelegant/non-symmetrical, libvirt
> 	  developers prefer "no magic devices"
> - conclusions:
> 	- for -M 1.6, will change QEMU don't add by default, teach libvirt to add
> 	  with -device pvpanic

This just moves the problem to a layer where it's harder to fix it.  It 
will just appear to work because no one will use pvpanic, which is not a 
solution.

Paolo

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

* Re: [Qemu-devel] KVM call minutes for 2013-08-06
  2013-08-06 15:47 ` Paolo Bonzini
@ 2013-08-06 17:01   ` Gleb Natapov
  0 siblings, 0 replies; 3+ messages in thread
From: Gleb Natapov @ 2013-08-06 17:01 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: qemu-devel qemu-devel, KVM devel mailing list, quintela

On Tue, Aug 06, 2013 at 05:47:36PM +0200, Paolo Bonzini wrote:
> On 08/06/2013 05:15 PM, Juan Quintela wrote:
> >* pvpanic
> >- was added by default in 1.5, this might have been too rash:
> >	- might change guest behaviour if guest is set to reboot on panic
> 
> Interesting, but it looks like either a feature or a driver bug.
> 
More like the device bug. The behaviour should be to notify management
without stopping the VM. Management (if present and configured for do
so) stops the VM.

> >	- might cause slightly annoying warnings/queries from device
> >	  manager
> >	- generally somewhat inelegant/non-symmetrical, libvirt
> >	  developers prefer "no magic devices"
> >- conclusions:
> >	- for -M 1.6, will change QEMU don't add by default, teach libvirt to add
> >	  with -device pvpanic
> 
> This just moves the problem to a layer where it's harder to fix it.
> It will just appear to work because no one will use pvpanic, which
> is not a solution.
> 
> Paolo
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
			Gleb.

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

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

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-06 15:15 [Qemu-devel] KVM call minutes for 2013-08-06 Juan Quintela
2013-08-06 15:47 ` Paolo Bonzini
2013-08-06 17:01   ` Gleb Natapov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).