From: Juan Quintela <quintela@redhat.com>
To: KVM devel mailing list <kvm@vger.kernel.org>,
qemu-devel qemu-devel <qemu-devel@nongnu.org>
Subject: [Qemu-devel] KVM call minutes for 2013-08-06
Date: Tue, 06 Aug 2013 17:15:28 +0200 [thread overview]
Message-ID: <878v0ehmun.fsf@elfo.elfo> (raw)
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.
next reply other threads:[~2013-08-06 15:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-06 15:15 Juan Quintela [this message]
2013-08-06 15:47 ` [Qemu-devel] KVM call minutes for 2013-08-06 Paolo Bonzini
2013-08-06 17:01 ` Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878v0ehmun.fsf@elfo.elfo \
--to=quintela@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).