[libvirt] [PATCH v4 0/4] nwfilter common object adjustments
by John Ferlan
v3: https://www.redhat.com/archives/libvir-list/2017-October/msg00264.html
Although v3 didn't get any attention - I figured I'd update and repost.
The only difference between this series and that one is that I dropped
patch 1 from v3. It was an attempt to fix a perceived issue in nwfilter
that I actually now have determined is in nodedev for which I'll have a
different set of patches.
John Ferlan (4):
nwfilter: Remove unnecessary UUID comparison bypass
nwfilter: Convert _virNWFilterObj to use virObjectRWLockable
nwfilter: Convert _virNWFilterObjList to use virObjectRWLockable
nwfilter: Remove need for nwfilterDriverLock in some API's
src/conf/virnwfilterobj.c | 555 +++++++++++++++++++++++----------
src/conf/virnwfilterobj.h | 11 +-
src/libvirt_private.syms | 3 +-
src/nwfilter/nwfilter_driver.c | 71 ++---
src/nwfilter/nwfilter_gentech_driver.c | 11 +-
5 files changed, 427 insertions(+), 224 deletions(-)
--
2.13.6
6 years, 9 months
[libvirt] [PATCH v5 00/10] Implement query-dump command
by John Ferlan
v4: https://www.redhat.com/archives/libvir-list/2018-February/msg00073.html
Changes since v4
* Pushed patches 1 and 9 since both were R-B'd and separable
* Added R-B to patch commit messages for those patches w/ R-B
* Modify the s.migStats and s.dumpStats to stats.mig and stats.dump
* Use stack variable to copy stats into rather than VIR_ALLOC buffer
and copy the query-stats into the jobinfo stats.mig
* Altered qemuDomainJobInfoToInfo / QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP
to not save file*
* Altered qemuDomainMigrationJobInfoToParams to goto done once starting
to process disk, mirror, and migration specific stats
* Cleaned up a couple of stray nits left along the way
* Initialize stats = { 0 }; in qemuDomainGetJobInfoDumpStats
John Ferlan (10):
qemu: Convert jobInfo stats into a union
qemu: Introduce QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP
qemu: Introduce QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP
qemu: Add support for DUMP_COMPLETED event
qemu: Introduce qemuProcessHandleDumpCompleted
qemu: Introduce qemuMonitor[JSON]QueryDump
qemu: Introduce qemuDomainGetJobInfoDumpStats
qemu: Add new parameter to qemuMonitorDumpToFd
qemu: Allow showing the dump progress for memory only dump
docs: Add news article for query memory-only dump processing
percentage
docs/news.xml | 11 +++
src/qemu/qemu_domain.c | 128 ++++++++++++++++++++++++++++++-----
src/qemu/qemu_domain.h | 15 ++++-
src/qemu/qemu_driver.c | 142 ++++++++++++++++++++++++++++++++++++---
src/qemu/qemu_migration.c | 13 ++--
src/qemu/qemu_migration_cookie.c | 4 +-
src/qemu/qemu_monitor.c | 38 ++++++++++-
src/qemu/qemu_monitor.h | 38 ++++++++++-
src/qemu/qemu_monitor_json.c | 103 +++++++++++++++++++++++++++-
src/qemu/qemu_monitor_json.h | 6 +-
src/qemu/qemu_process.c | 42 +++++++++++-
tests/qemumonitorjsontest.c | 3 +-
12 files changed, 501 insertions(+), 42 deletions(-)
--
2.13.6
6 years, 9 months
[libvirt] [PATCH 0/6] util: bitmap: Various fixes and improvements
by Peter Krempa
Peter Krempa (6):
util: bitmap: Rename 'max_bit' to 'nbits'
util: bitmap: Fix function formatting and spacing
util: bitmap: Add comments for functions which don't have them
util: bitmap: Fix value of 'map_alloc' when shrinking bitmap
util: bitmap: Use VIR_SHRINK_N in virBitmapShrink
util: bitmap: Note that shrinking the bitmap requires clearing of
unused bits
src/conf/domain_conf.c | 3 +-
src/util/virbitmap.c | 213 +++++++++++++++++++++++++++++++++++--------------
src/util/virbitmap.h | 2 +-
src/util/virresctrl.c | 3 +-
tests/virbitmaptest.c | 6 +-
5 files changed, 157 insertions(+), 70 deletions(-)
--
2.15.0
6 years, 9 months
[libvirt] [PATCH 0/6] port allocator: make used port bitmap global etc
by Nikolay Shirokovskiy
This patch set addresses issue described in [1] and the core of
changes go to the first patch. The others are cleanups and
refactorings.
[1] https://www.redhat.com/archives/libvir-list/2017-December/msg00600.html
Nikolay Shirokovskiy (6):
port allocator: make used port bitmap global
port allocator: remove range on manual port reserving
port allocator: remove range check in release function
port allocator: drop skip flag
port allocator: remove release functionality from set used
port allocator: make port range constant object
src/bhyve/bhyve_command.c | 4 +-
src/bhyve/bhyve_driver.c | 4 +-
src/bhyve/bhyve_process.c | 7 +-
src/bhyve/bhyve_utils.h | 2 +-
src/libvirt_private.syms | 3 +-
src/libxl/libxl_conf.c | 8 +--
src/libxl/libxl_conf.h | 12 ++--
src/libxl/libxl_domain.c | 3 +-
src/libxl/libxl_driver.c | 17 +++--
src/libxl/libxl_migration.c | 4 +-
src/qemu/qemu_conf.h | 12 ++--
src/qemu/qemu_driver.c | 27 ++++----
src/qemu/qemu_migration.c | 12 ++--
src/qemu/qemu_process.c | 55 +++++----------
src/util/virportallocator.c | 148 +++++++++++++++++++++++------------------
src/util/virportallocator.h | 24 +++----
tests/bhyvexml2argvtest.c | 5 +-
tests/libxlxml2domconfigtest.c | 7 +-
tests/virportallocatortest.c | 49 ++++++++------
19 files changed, 196 insertions(+), 207 deletions(-)
--
1.8.3.1
6 years, 9 months
[libvirt] [PATCH v3] virt-aa-helper: Skip feature support checks while parsing
by Shivaprasad G Bhat
virt-aa-helper need not verify the feature support as
libvirt does it during domain creation anyway.
Signed-off-by: Shivaprasad G Bhat <sbhat(a)linux.vnet.ibm.com>
---
src/conf/domain_conf.c | 3 +++
src/conf/domain_conf.h | 1 +
src/security/virt-aa-helper.c | 6 +++++-
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index e827b2a81..92929a289 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -4736,6 +4736,9 @@ static int
virDomainDefPostParseCheckFeatures(virDomainDefPtr def,
virDomainXMLOptionPtr xmlopt)
{
+ if (!UNSUPPORTED(VIR_DOMAIN_DEF_FEATURE_SKIP_VALIDATE))
+ return 0;
+
if (UNSUPPORTED(VIR_DOMAIN_DEF_FEATURE_MEMORY_HOTPLUG) &&
virDomainDefCheckUnsupportedMemoryHotplug(def) < 0)
return -1;
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 21e004515..c36d29fd9 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2539,6 +2539,7 @@ typedef enum {
VIR_DOMAIN_DEF_FEATURE_NAME_SLASH = (1 << 3),
VIR_DOMAIN_DEF_FEATURE_INDIVIDUAL_VCPUS = (1 << 4),
VIR_DOMAIN_DEF_FEATURE_USER_ALIAS = (1 << 5),
+ VIR_DOMAIN_DEF_FEATURE_SKIP_VALIDATE = (1 << 6),
} virDomainDefFeatures;
diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c
index f7ccae0b0..b15fea7eb 100644
--- a/src/security/virt-aa-helper.c
+++ b/src/security/virt-aa-helper.c
@@ -654,6 +654,9 @@ caps_mockup(vahControl * ctl, const char *xmlStr)
return rc;
}
+virDomainDefParserConfig virAAHelperDomainDefParserConfig = {
+ .features = VIR_DOMAIN_DEF_FEATURE_SKIP_VALIDATE,
+};
static int
get_definition(vahControl * ctl, const char *xmlStr)
@@ -673,7 +676,8 @@ get_definition(vahControl * ctl, const char *xmlStr)
goto exit;
}
- if (!(ctl->xmlopt = virDomainXMLOptionNew(NULL, NULL, NULL, NULL, NULL))) {
+ if (!(ctl->xmlopt = virDomainXMLOptionNew(&virAAHelperDomainDefParserConfig,
+ NULL, NULL, NULL, NULL))) {
vah_error(ctl, 0, _("Failed to create XML config object"));
goto exit;
}
6 years, 9 months
[libvirt] [PATCH v2 0/2] Fix possible crash when resctrl gets remounted
by Martin Kletzander
First one just fixes the crash, but the second one makes sure we get
consistent info with at least higher probability.
Martin Kletzander (2):
util: Check if kernel-provided info is consistent with itself
qemu: Refresh capabilities when creating resctrl allocation
src/qemu/qemu_process.c | 8 +++++++-
src/util/virresctrl.c | 11 +++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
--
2.16.1
6 years, 9 months
[libvirt] PATCH add q35 support ide
by Paul Schlacter
hello everyone:
In q35 motherboard use ide, Currently, the qemu has supported q35
Motherboard support ide bus
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index cc7596b..2dbade8 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -7188,6 +7188,7 @@ bool
qemuDomainMachineHasBuiltinIDE(const char *machine)
{
return qemuDomainMachineIsI440FX(machine) ||
+ qemuDomainMachineIsQ35(machine) ||
STREQ(machine, "malta") ||
STREQ(machine, "sun4u") ||
STREQ(machine, "g3beige");
[root@kvm ~]# virsh dumpxml instance-00000004 | grep machine=
<type arch='x86_64' machine='pc-q35-rhel7.3.0'>hvm</type>
[root@kvm~]#
[root@kvm~]# virsh dumpxml instance-00000004 | grep "'disk'" -A 13
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/nova/instances/288271ce-69eb-4629-b98c-
779036661294/disk'/>
<backingStore type='file' index='1'>
<format type='raw'/>
<source file='/var/lib/nova/instances/_base/
8d383eef2e628adfc197a6e40e656916de566ab1'/>
<backingStore/>
</backingStore>
<target dev='vda' bus='ide'/>
<alias name='ide0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
6 years, 9 months
[libvirt] CfP 13th Virtualization in High-Performance Cloud Computing Workshop (VHPC '18)
by VHPC 18
*====================================================================CALL
FOR PAPERS 13th Workshop on Virtualization in High-Performance Cloud
Computing (VHPC '18)held in conjunction with the International
Supercomputing Conference - High Performance,June 24-28, 2018, Frankfurt,
Germany.(Springer LNCS Proceedings)
====================================================================Date:
June 28, 2018Workshop URL: http://vhpc.org <http://vhpc.org>Paper
Submission Deadline: April 23, 2018, Springer LNCS, rolling abstract
submissionAbstract/Paper Submission Link:
https://edas.info/newPaper.php?c=24355
<https://edas.info/newPaper.php?c=24355>Special Track: GPU - Accelerator
Virtualization Call for PapersVirtualization technologies constitute a key
enabling factor for flexible resource managementin modern data centers, and
particularly in cloud environments. Cloud providers need tomanage complex
infrastructures in a seamless fashion to support the highly dynamic
andheterogeneous workloads and hosted applications customers deploy.
Similarly, HPCenvironments have been increasingly adopting techniques that
enable flexible managementof vast computing and networking resources, close
to marginal provisioning cost, which isunprecedented in the history of
scientific and commercial computing.Various virtualization technologies
contribute to the overall picture in different ways: machinevirtualization,
with its capability to enable consolidation of multiple underutilized
servers withheterogeneous software and operating systems (OSes), and its
capability to live-migrate afully operating virtual machine (VM) with a
very short downtime, enables novel and dynamicways to manage physical
servers; OS-level virtualization (i.e., containerization), with
itscapability to isolate multiple user-space environments and to allow for
their coexistencewithin the same OS kernel, promises to provide many of
the advantages of machine virtualization with high levels of responsiveness
and performance; I/O Virtualization allows physical network interfaces to
take traffic from multiple VMs or containers; network virtualization, with
its capability to create logical network overlays that are independent of
theunderlying physical topology is furthermore enabling virtualization of
HPC infrastructures. PublicationAccepted papers will be published in a
Springer LNCS proceedings volume.Topics of InterestThe VHPC program
committee solicits original, high-quality submissions related
tovirtualization across the entire software stack with a special focus on
the intersection of HPCand the cloud.Major Topics- Virtualization in
supercomputing environments, HPC clusters, HPC in the cloud and grids-
OS-level virtualization and containers (LXC, Docker, rkt, Singularity,
Shifter, i.a.)- Lightweight/specialized operating systems in conjunction
with virtual machines- Novel unikernels and use cases for virtualized HPC
environments- Performance improvements for or driven by unikernels- Tool
support for unikernels: configuration/build environments, debuggers,
profilers- Hypervisor extensions to mitigate side-channel attacks
([micro-]architectural timing attacks, privilege escalation)- VM &
Container trust and security- Containers inside VMs with hypervisor
isolation- GPU virtualization operationalization- Approaches to GPGPU
virtualization including API remoting and hypervisor abstraction-
Optimizations of virtual machine monitor platforms and hypervisors-
Hypervisor support for heterogeneous resources (GPUs, co-processors, FPGAs,
etc.)- Virtualization support for emerging memory technologies-
Virtualization in enterprise HPC and microvisors- Software defined networks
and network virtualization- Management, deployment of virtualized
environments and orchestration (Kubernetes i.a.)- Workflow-pipeline
container-based composability - Checkpointing facilitation utilizing
containers and VMs - Emerging topics including multi-kernel approaches and
NUMA in hypervisors- Operating MPI in containers/VMs and Unikernels -
Virtualization in data intensive computing (big data) - HPC convergence-
Adaptation of HPC technologies in the cloud (high performance networks,
RDMA, etc.)- Performance measurement, modelling and monitoring of
virtualized/cloud workloads- Latency-and jitter sensitive workloads in
virtualized/containerized environments- I/O virtualization (including
applications, SR-IOV, i.a.) - Hybrid local facility + cloud compute and
based storage systems, cloudbursting- FPGA and many-core accelerator
virtualization- Job scheduling/control/policy and container placement in
virtualized environments- Cloud reliability, fault-tolerance and
high-availability- QoS and SLA in virtualized environments- IaaS platforms,
cloud frameworks and APIs- Energy-efficient and power-aware virtualization-
Configuration management tools for containers (including in OpenStack,
Ansible, i.a.)- ARM-based hypervisors, ARM virtualization extensionsSpecial
Track: GPU - Accelerator VirtualizationGPU virtualization technologies,
performance and benchmarking, integration withworkflow scheduling systems,
integration to cluster managers.GPUs are taking on many HPC workload areas,
especially in deep learning withinmachine learning. In addition, a lot of
workload is being pushed to elastic environments utilizing various
virtualization technologies on different levels like hypervisors (e.g.
VMWare, Xen, KVM), kernel (Docker, Kubernetes) or on the resource
managerlevel (YARN, Mesos). In this track we invite submissions addressing
these problems. Suggested Themes and Topics:Technology - What technologies
and best practices exist for GPU - hardware accelerator virtualization and
usage of hardware accelerators in virtual environments on the hypervisor,
kernel or resource manager levelDevelopers - Real-life experience when
addressing HPC/ML/DL problems with GPUs or hardware accelerators in virtual
environmentsPerformance - Performance comparisons between different
technologies / solutionsThe Workshop on Virtualization in High-Performance
Cloud Computing (VHPC) aims tobring together researchers and industrial
practitioners facing the challenges posed by virtualization in order to
foster discussion, collaboration, mutual exchangeof knowledge and
experience, enabling research to ultimately provide novelsolutions for
virtualized computing systems of tomorrow.The workshop will be one day in
length, composed of 20 min paper presentations, eachfollowed by 10 min
discussion sections, plus lightning talks that are limited to 5
minutes.Presentations may be accompanied by interactive
demonstrations.Important DatesFebruary 23, 2018 (AoE) - Abstract
SubmissionApril 23, 2018 (AoE) - Paper submission deadline (Springer
LNCS)May 30, 2018 - Acceptance notification June 28, 2018 - Workshop
DayJuly 12, 2018 - Camera-ready version dueChairMichael Alexander (chair),
Institute of Science and Technology, AustriaAnastassios Nanos (co-chair),
OnApp, UKRomeo Kienzler (co-chair), IBM, SwitzerlandProgram
committeeStergios Anastasiadis, University of Ioannina, Greece Jakob
Blomer, CERN, Europe Eduardo César, Universidad Autonoma de Barcelona,
SpainStephen Crago, USC ISI, USATommaso Cucinotta, St. Anna School of
Advanced Studies, ItalyChristoffer Dall, Columbia University, USAFrançois
Diakhaté, CEA, FrancePatrick Dreher, MIT, USA Kyle Hale, Northwestern
University, USA Brian Kocoloski, University of Pittsburgh, USAUday Kurkure,
VMware, USAJohn Lange, University of Pittsburgh, USAGiuseppe Lettieri,
University of Pisa, ItalyQing Liu, Oak Ridge National Laboratory, USANikos
Parlavantzas, IRISA, FranceKevin Pedretti, Sandia National Laboratories,
USAAmer Qouneh, Western New England University, USA Carlos Reaño, Technical
University of Valencia, SpainBorja Sotomayor, University of Chicago, USA
Anata Tiwari, San Diego Supercomputer Center, USAKurt Tutschku, Blekinge
Institute of Technology, Sweden Yasuhiro Watashiba, Osaka University,
JapanChao-Tung Yang, Tunghai University, Taiwan Andrew Younge, Sandia
National Laboratory, USANa Zhang, VMware, USAPaper
Submission-PublicationPapers submitted to the workshop will be reviewed by
at least twomembers of the program committee and external reviewers.
Submissionsshould include abstract, keywords, the e-mail address of
thecorresponding author, and must not exceed 10 pages, including tablesand
figures at a main font size no smaller than 11 point. Submissionof a paper
should be regarded as a commitment that, should the paperbe accepted, at
least one of the authors will register and attend theconference to present
the work. Accepted papers will be published in aSpringer LNCS volume. . The
format must be according to the Springer LNCS Style. Initialsubmissions are
in PDF; authors of accepted papers will be requestedto provide source
files.Format
Guidelines:ftp://ftp.springer.de/pub/tex/latex/llncs/latex2e/llncs2e.zip
<ftp://ftp.springer.de/pub/tex/latex/llncs/latex2e/llncs2e.zip>Abstract,
Paper Submission Link:https://edas.info/newPaper.php?c=24355
<https://edas.info/newPaper.php?c=24355>Lightning Talks Lightning Talks are
non-paper track, synoptical in nature and are strictly limited to 5
minutes.They can be used to gain early feedback on ongoing research, for
demonstrations, to present research results, early research ideas,
perspectives and positions of interest to the community. Submit abstract
via the main submission link. General InformationThe workshop is one day in
length and will be held in conjunction with the InternationalSupercomputing
Conference - High Performance (ISC) 2018, June 18-22, Frankfurt, Germany.*
6 years, 9 months
[libvirt] [PATCH v4 00/12] Implement query-dump command
by John Ferlan
v3: https://www.redhat.com/archives/libvir-list/2018-January/msg01047.html
Changes since v3:
* Reorder patches, moved the "setup" patches to the first few patches
and the meat-n-potatoes starting at patch 4 which is "new"-ish having
been extracted from other patches to set up the buffers that the event
will need.
* Rather than allocating a dump buffer, use the stack variables
and the jobinfo stats buffer.
"Force tested" the failure to parse the stats error just to be sure
it got propagated.
John Ferlan (12):
qemu: Introduce qemuDomainGetJobInfoMigrationStats
qemu: Convert jobInfo stats into a union
qemu: Introduce QEMU_DOMAIN_JOB_STATS_TYPE_SAVEDUMP
qemu: Introduce QEMU_DOMAIN_JOB_STATS_TYPE_MEMDUMP
qemu: Add support for DUMP_COMPLETED event
qemu: Introduce qemuProcessHandleDumpCompleted
qemu: Introduce qemuMonitor[JSON]QueryDump
qemu: Introduce qemuDomainGetJobInfoDumpStats
qemu: Add dump completed event to the capabilities
qemu: Add new parameter to qemuMonitorDumpToFd
qemu: Allow showing the dump progress for memory only dump
docs: Add news article for query memory-only dump processing
percentage
docs/news.xml | 11 ++
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_domain.c | 127 ++++++++++++--
src/qemu/qemu_domain.h | 17 +-
src/qemu/qemu_driver.c | 183 ++++++++++++++++++---
src/qemu/qemu_migration.c | 13 +-
src/qemu/qemu_migration_cookie.c | 4 +-
src/qemu/qemu_monitor.c | 38 ++++-
src/qemu/qemu_monitor.h | 37 ++++-
src/qemu/qemu_monitor_json.c | 103 +++++++++++-
src/qemu/qemu_monitor_json.h | 6 +-
src/qemu/qemu_process.c | 42 ++++-
.../caps_2.10.0-gicv2.aarch64.xml | 1 +
.../caps_2.10.0-gicv3.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 +
.../caps_2.6.0-gicv2.aarch64.xml | 1 +
.../caps_2.6.0-gicv3.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 +
tests/qemumonitorjsontest.c | 3 +-
30 files changed, 548 insertions(+), 55 deletions(-)
--
2.13.6
6 years, 9 months
[libvirt] [PATCH] util: Remove unnecessary initialization
by John Ferlan
VIR_ALLOC will already initialize, so no need to do it again.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
This is something Coverity noted a while ago that I found
sitting in one of my branches that I'd forgotten about.
Pushed as trivial.
src/util/virsysinfo.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/util/virsysinfo.c b/src/util/virsysinfo.c
index 855580d44..e8d337191 100644
--- a/src/util/virsysinfo.c
+++ b/src/util/virsysinfo.c
@@ -597,8 +597,6 @@ virSysinfoReadS390(void)
goto no_memory;
}
- ret->nprocessor = 0;
- ret->processor = NULL;
if (virSysinfoParseS390Processor(outbuf, ret) < 0)
goto no_memory;
--
2.13.6
6 years, 9 months