[libvirt] [PATCH 0/2] RFC: qemu: aarch64 virtio-pci work
by Cole Robinson
These patches apply on top of the series I just posted:
[PATCH 0/9] tests: qemu: unconditionally enable QEMU_CAPS_DEVICE
https://www.redhat.com/archives/libvir-list/2016-January/msg01233.html
These specific changers were discussed here:
https://www.redhat.com/archives/libvir-list/2015-December/msg00217.html
We need a way for apps to tell libvirt 'use virtio-pci not virtio-mmio'
for aarch64 -M virt. We can't really make use this by default yet since
most OS don't actually support it. So we decided the best course of
interaction is to allow users to pass a manual pci controller, and libvirt
will interpret that to mean it's okay to use virtio-pci.
Patch #1 undoes the current behavior of unconditionally adding a q35 style
PCIe controller setup for mach-virt that supports it. In the future we
will probably re-enable something like this, but maybe not for a year or
so until the bits proliferate to distros.
Patch #2 tries to implement the manual pci controller bit. Unfortunately
it's not that easy get the ideal XML to work, so this isn't ready for
committing. See the commit message for more details
Cole Robinson (2):
qemu: aarch64: Don't add PCIe controller by default
HACK: qemu: aarch64: Use virtio-pci if user specifies PCI controller
src/qemu/qemu_command.c | 34 ++++++++----
src/qemu/qemu_domain.c | 4 --
...l2argv-aarch64-pci-manual-nocontroller-fail.xml | 43 ++++++++++++++++
.../qemuxml2argv-aarch64-virtio-pci-default.args | 2 -
...l2argv-aarch64-virtio-pci-manual-addresses.args | 2 -
...ml2argv-aarch64-virtio-pci-manual-addresses.xml | 1 +
...2argv-aarch64-virtio-pci-manual-controller.args | 36 +++++++++++++
...l2argv-aarch64-virtio-pci-manual-controller.xml | 50 ++++++++++++++++++
tests/qemuxml2argvtest.c | 22 ++++++--
.../qemuxml2xmlout-aarch64-virtio-pci-default.xml | 10 ----
...2xmlout-aarch64-virtio-pci-manual-addresses.xml | 11 +---
...xmlout-aarch64-virtio-pci-manual-controller.xml | 60 ++++++++++++++++++++++
tests/qemuxml2xmltest.c | 6 +++
13 files changed, 239 insertions(+), 42 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-pci-manual-nocontroller-fail.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-virtio-pci-manual-controller.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-virtio-pci-manual-controller.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-virtio-pci-manual-controller.xml
--
2.5.0
8 years, 8 months
[libvirt] [PATCH v4 0/2] qemu: add debug-threads support
by Marc-André Lureau
QEMU (somewhere around 2.0) added a new sub-option to the -name flag
-name debug-threads=on
This causes the naming of individual QEMU threads to be helpful; e.g.
'CPU/KVM 0' or 'migration' these show up in top once the H key is
pressed, and also show up in a core dump, making it easy to figure
out which thread is which.
The following 2 patches add a capability check and enable
debug-threads if supported.
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1140121
cheers
v3->v4:
- simplify a bit command generation
- added a test
v2->v3:
- move -name command generation in seperate function
- fix syntax-check
- fix leak
v1->v2:
- drop the configuration, enable debug-thread automatically
Marc-André Lureau (2):
qemu: check for debug-threads capability
qemu: enable debug threads
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 34 +++++++++++++++++-----
tests/qemucapabilitiesdata/caps_2.1.1-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.4.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.5.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.6.0-1.caps | 1 +
.../qemuxml2argv-debug-threads.args | 22 ++++++++++++++
.../qemuxml2argv-debug-threads.xml | 34 ++++++++++++++++++++++
tests/qemuxml2argvtest.c | 2 ++
10 files changed, 91 insertions(+), 8 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-debug-threads.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-debug-threads.xml
--
2.5.0
8 years, 8 months
[libvirt] [PATCH v3 0/2] qemu: add debug-threads support
by Marc-André Lureau
QEMU (somewhere around 2.0) added a new sub-option to the -name flag
-name debug-threads=on
This causes the naming of individual QEMU threads to be helpful; e.g.
'CPU/KVM 0' or 'migration' these show up in top once the H key is
pressed, and also show up in a core dump, making it easy to figure
out which thread is which.
The following 2 patches add a capability check and enable
debug-threads if supported.
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1140121
cheers
v2->v3:
- move -name command generation in seperate function
- fix syntax-check
- fix leak
v1->v2:
- drop the configuration, enable debug-thread automatically
Marc-André Lureau (2):
qemu: check for debug-threads capability
qemu: enable debug threads
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 40 ++++++++++++++++++++++------
tests/qemucapabilitiesdata/caps_2.1.1-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.4.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.5.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.6.0-1.caps | 1 +
7 files changed, 39 insertions(+), 8 deletions(-)
--
2.5.0
8 years, 8 months
[libvirt] [PATCH v2 0/2] qemu: add debug-threads support
by Marc-André Lureau
QEMU (somewhere around 2.0) added a new sub-option to the -name flag
-name debug-threads=on
This causes the naming of individual QEMU threads to be helpful; e.g.
'CPU/KVM 0' or 'migration' these show up in top once the H key is
pressed, and also show up in a core dump, making it easy to figure
out which thread is which.
The following 2 patches add a capability check and enable
debug-threads if supported.
Related to:
https://bugzilla.redhat.com/show_bug.cgi?id=1140121
cheers
v1->v2:
- drop the configuration, enable debug-thread automatically
Marc-André Lureau (2):
qemu: check for debug-threads capability
qemu: enable debug threads
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 13 +++++++++----
tests/qemucapabilitiesdata/caps_2.1.1-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.4.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.5.0-1.caps | 1 +
tests/qemucapabilitiesdata/caps_2.6.0-1.caps | 1 +
7 files changed, 16 insertions(+), 4 deletions(-)
--
2.5.0
8 years, 8 months
[libvirt] [PATCH] qemuxml2argvtest: Fix monitor path in serial-file-log
by Jiri Denemark
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
Notes:
Pushed as a build-breaker.
tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.args | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.args
index de313e5..38cad7b 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.args
@@ -13,7 +13,8 @@ QEMU_AUDIO_DRV=none \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
-nographic \
-nodefaults \
--chardev socket,id=charmonitor,path=/tmp/test-monitor,server,nowait \
+-chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
+server,nowait \
-mon chardev=charmonitor,id=monitor,mode=readline \
-no-acpi \
-boot c \
--
2.7.2
8 years, 8 months
[libvirt] [PATCH v2 0/8] Use virtlogd for chardevs & support logging
by Daniel P. Berrange
This series of patches does two things
* Converts the type=file chardev over to use virtlogd
(assuming use of virtlogd is enabled in qemu.conf)
* Adds a <log file="..."/> element to all chardev
sources, allowing data to be captured to a logfile
Both of these are important features wanted by openstack.
The first thing fixes a long standing security issue that
a guest OS can trivially exhuast host disk space by outputing
lots of data to its serial port.
The second thing allows OpenStack to record boot up
messages for a guest's serial console, while still
allowing interactive serial console ussage. ie the
serial port will be configured with type=tcp, and
the new <log> element used to record the data.
Both these thing required changes in QEMU, which have
been merged for the forthcoming QEMU 2.6 release.
Changed in v2:
* Split patch 4 up into 4 separate patches
* Fix memory leaks
* Use common function for building log manager cli args
* Add missing XML docs
Daniel P. Berrange (8):
logging: allow inode/offset params to be NULL
conf: allow use of a logfile with chardev backends
qemu: add support for logging chardev output to a file
qemu: don't append -chardev arg until after value is formatted
qemu: move functions for handling FD passing
logging: support truncation of logfiles when opening
qemu: use virtlogd for character device log files
qemu: support use of virtlogd with file based chardevs
docs/formatdomain.html.in | 14 +
docs/schemas/domaincommon.rng | 12 +
src/conf/domain_conf.c | 30 +++
src/conf/domain_conf.h | 2 +
src/logging/log_daemon_dispatch.c | 3 +-
src/logging/log_handler.c | 6 +-
src/logging/log_handler.h | 2 +-
src/logging/log_manager.c | 6 +-
src/logging/log_manager.h | 2 +
src/logging/log_protocol.x | 4 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 282 ++++++++++++++-------
src/qemu/qemu_command.h | 9 +-
src/qemu/qemu_domain.c | 6 +
src/qemu/qemu_domain.h | 3 +
src/qemu/qemu_driver.c | 2 +-
src/qemu/qemu_process.c | 4 +-
.../qemuxml2argv-serial-file-log.args | 25 ++
.../qemuxml2argv-serial-file-log.xml | 39 +++
tests/qemuxml2argvtest.c | 4 +-
21 files changed, 353 insertions(+), 105 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-serial-file-log.xml
--
2.5.0
8 years, 8 months
[libvirt] [PATCH 0/3] vcpu refactoring fixes
by Peter Krempa
My recent refactros led to a few bugs. The memory leak was not caused by me,
but it looked like I might have broken it so I've fixed it.
Peter Krempa (3):
qemu: cpu: Don't remove pinning of cold-unplugged cpu
conf: Fix off-by-one in virDomainDefGetVcpu
qemu: Fix memory leak in qemuGetSchedInfo
src/conf/domain_conf.c | 2 +-
src/qemu/qemu_driver.c | 15 +--------------
2 files changed, 2 insertions(+), 15 deletions(-)
--
2.6.2
8 years, 8 months