On behalf of Yongli, He who tested these series with KVMGT vGPU mdev.
Hi, Erik
Here is the libvirt testing result. in general speaking, it works well. while start
libvirt-d and starting the vm, there are some call traces, i attached them in the very end
of this mail. this mail will be the test-by content later.
Test env summary
==============
0. Test Bed hardware summary
cat /proc/cpuinfo
vendor_id : GenuineIntel
cpu family : 6
model : 78
model name : Intel(R) Core(TM) i5-6260U CPU @ 1.80GHz
stepping : 3
microcode : 0x84
physical id : 0
cpu cores : 2
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
pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2
ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer
aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb intel_pt tpr_shadow vnmi
flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx
smap clflushopt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify
hwp_act_window hwp_epp
bugs :
1. test steps and software version following this guide,
https://github.com/01org/gvt-linux/wiki/GVTg_Setup_Guide#322-build-kernel...
2. Host env
uname -a
Linux z-nuc-11 4.10.0-vgt #1 SMP Thu Mar 9 15:55:49 CST
2017 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"
kernel build from source:
git describe
gvt-fixes-2017-01-25-1560-gcedbc34
qemu build from source:
qemu-system-x86_64 --version
QEMU emulator version 2.8.50 (v2.8.0-2059-geba44e9-dirty)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project
developers
libvirt, use your branch
https://github.com/eskultety/libvirt.git
git describe
v1.2.17-rc2-5530-g202402e
git branch
master
* mdev-v3
3. guest xml template, refer to attachment
4. related scripts, refer to attachment
myvirsh: source build libvirt wrapper
gdb-libvirtd: libvirtd start up wrapper
the screen call trace while start the virtlogd ==================================
ubuntu@z-nuc-11:~/vgpu-meta/libvirt-stage$ ./libvirt/gdb-libvirt &
***************************************************
start virtlogd
[2] 2005
ubuntu@z-nuc-11:~/vgpu-meta/libvirt-stage$
***************************************************
start libvirt-d
2017-03-09 19:04:57.211+0000: 2059: info : libvirt version: 3.1.0
2017-03-09 19:04:57.211+0000: 2059: info : hostname: z-nuc-11.maas
2017-03-09 19:04:57.211+0000: 2059: error : qemuMonitorOpenUnix:367 :
failed to connect to monitor socket: No such process
2017-03-09 19:04:57.213+0000: 2059: error :
virMediatedDeviceGetIOMMUGroupDev:153 : internal error: IOMMU group file
/sys/bus/mdev/devices/894f3983-1a36-42b3-b52c-1024aca216be/iommu_group
is not a symlink
2017-03-09 19:04:57.213+0000: 2003: info : libvirt version: 3.1.0
2017-03-09 19:04:57.213+0000: 2003: info : hostname: z-nuc-11.maas
2017-03-09 19:04:57.213+0000: 2003: error : virNetSocketReadWire:1800 :
End of file while reading data: Input/output error
the screen call trace while start the VM (same for Ubuntu, Win10 etc)
======================================================
ubuntu@z-nuc-11:~/vgpu-meta/libvirt-stage$ myvirsh start vgpu-ubuntu
2017-03-09 19:06:50.483+0000: 2232: info : libvirt version: 3.1.0
2017-03-09 19:06:50.483+0000: 2232: info : hostname: z-nuc-11.maas
2017-03-09 19:06:50.483+0000: 2232: warning : qemuDomainObjTaint:4056 :
Domain id=1 name='vgpu-ubuntu' uuid=972b5e38-0437-11e7-8f97-d36dba74552d
is tainted: high-privileges
2017-03-09 19:06:50.819+0000: 2204: info : libvirt version: 3.1.0
2017-03-09 19:06:50.819+0000: 2232: warning : virDomainAuditHostdev:456
: Unexpected hostdev type while encoding audit message: 4
2017-03-09 19:06:50.819+0000: 2204: info : hostname: z-nuc-11.maas
2017-03-09 19:06:50.819+0000: 2204: error : virNetSocketReadWire:1800 :
End of file while reading data: Input/output error Domain vgpu-ubuntu started
Tested-by: Yongli, He <yongli.he(a)intel.com>
-----Original Message-----
From: libvir-list-bounces(a)redhat.com [mailto:libvir-list-bounces@redhat.com]
On Behalf Of Erik Skultety
Sent: Monday, February 20, 2017 10:28 PM
To: libvir-list(a)redhat.com
Cc: Erik Skultety <eskultet(a)redhat.com>
Subject: [libvirt] [RFC PATCH v2 REBASE 00/18] Introduce vGPU mdev framework
to libvirt
since the original v2 [1]:
- resolved a few merge conflicts caused by @9d92f533 which refactored out
some duplicate code which eventually lead to dropping patch 14/18 from the
original series due to being unnecessary
- rebased onto fresh HEAD
[1]
https://www.redhat.com/archives/libvir-list/2017-February/msg00739.html
Erik Skultety (18):
util: Introduce new module virmdev
conf: Introduce new hostdev device type mdev
conf: Introduce new address type mdev
conf: Update XML parser, formatter, and RNG schema to support mdev
conf: Introduce virDomainHostdevDefPostParse
conf: Add post parse code for mdevs to virDomainHostdevDefPostParse
security: dac: Enable labeling of vfio mediated devices
security: selinux: Enable labeling of vfio mediated devices
conf: Enable cold-plug of a mediated device
qemu: Assign PCI addresses for mediated devices as well
hostdev: Maintain a driver list of active mediated devices
hostdev: Introduce a reattach method for mediated devices
qemu: cgroup: Adjust cgroups' logic to allow mediated devices
qemu: Bump the memory locking limit for mdevs as well
qemu: Format mdevs on qemu command line
test: Add some test cases for our test suite regarding the mdevs
docs: Document the new hostdev and address type 'mdev'
news: Update the NEWS.xml about the new mdev feature
docs/formatdomain.html.in | 48 ++-
docs/news.xml | 9 +
docs/schemas/domaincommon.rng | 26 ++
po/POTFILES.in | 1 +
src/Makefile.am | 1 +
src/conf/device_conf.h | 1 +
src/conf/domain_conf.c | 203 ++++++++++--
src/conf/domain_conf.h | 9 +
src/libvirt_private.syms | 20 ++
src/qemu/qemu_command.c | 49 +++
src/qemu/qemu_command.h | 5 +
src/qemu/qemu_domain.c | 23 +-
src/qemu/qemu_domain.h | 1 +
src/qemu/qemu_domain_address.c | 16 +-
src/qemu/qemu_hostdev.c | 37 +++
src/qemu/qemu_hostdev.h | 8 +
src/qemu/qemu_hotplug.c | 2 +
src/security/security_apparmor.c | 3 +
src/security/security_dac.c | 55 ++++
src/security/security_selinux.c | 54 ++++
src/util/virhostdev.c | 229 ++++++++++++-
src/util/virhostdev.h | 16 +
src/util/virmdev.c | 358 +++++++++++++++++++++
src/util/virmdev.h | 93 ++++++
tests/domaincapsschemadata/full.xml | 1 +
.../qemuxml2argv-hostdev-mdev-unmanaged.args | 25 ++
.../qemuxml2argv-hostdev-mdev-unmanaged.xml | 37 +++
tests/qemuxml2argvtest.c | 6 +
.../qemuxml2xmlout-hostdev-mdev-unmanaged.xml | 40 +++
tests/qemuxml2xmltest.c | 1 +
30 files changed, 1333 insertions(+), 44 deletions(-) create mode 100644
src/util/virmdev.c create mode 100644 src/util/virmdev.h create mode 100644
tests/qemuxml2argvdata/qemuxml2argv-hostdev-mdev-unmanaged.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-mdev-
unmanaged.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-hostdev-
mdev-unmanaged.xml
--
2.10.2
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list