[libvirt] [PATCH v4 00/14] Introduce vGPU mdev framework to libvirt
yonglihe
yongli.he at intel.com
Mon Mar 27 07:42:44 UTC 2017
Verify Summary:
* the none rooted mode starting a high-privileges VM actually.
The configurations is source generated default value except tls disabled.
1. rooted
virsh define ./libvirt/vgpu-win10.xml
Domain vgpu-win10 defined from ./libvirt/vgpu-win10.xml
ubuntu at z-nuc-11:~/vgpu-meta/libvirt-stage$ virsh start vgpu-win10
2017-03-26 23:28:57.385+0000: 2886: info : libvirt version: 3.2.0
2017-03-26 23:28:57.385+0000: 2886: info : hostname: z-nuc-11.maas
2017-03-26 23:28:57.385+0000: 2886: warning : qemuDomainObjTaint:4155 :
Domain id=1 name='vgpu-win10' uuid=916c5c36-0437-11e7-a23d-830ed1295d00
is tainted: high-privileges
2017-03-26 23:28:58.010+0000: 2886: warning : virDomainAuditHostdev:456
: Unexpected hostdev type while encoding audit message: 4
Domain vgpu-win10 started
2. None rooted
virsh -c qemu:///session
Welcome to lt-virsh, the virtualization interactive terminal.
virsh # define ./libvirt/vgpu-win10.xml
Domain vgpu-win10 defined from ./libvirt/vgpu-win10.xml
virsh # start vgpu-win10
2017-03-26 23:38:11.220+0000: 2882: warning : qemuDomainObjTaint:4155 :
Domain id=4 name='vgpu-win10' uuid=916c5c36-0437-11e7-a23d-830ed1295d00
is tainted: high-privileges
2017-03-26 23:38:12.356+0000: 2882: warning : virDomainAuditHostdev:456
: Unexpected hostdev type while encoding audit message: 4
Domain vgpu-win10 started
Regards
Yongli He
> since v1:
> - new <hostdev> attribute model introduced which tells libvirt which device API
> should be considered when auto-assigning guest address
> - device_api is properly checked, thus taking the 'model' attribute only as a
> hint to assign "some" address
> - new address type 'mdev' is introduced rather than using plain <uuid> element,
> since the address element is more conveniently extendable.
> - the emulated mtty driver now works as well out of the box, so no HW needed to
> review this series --> let's try it :)
> - fixed all the nits from v1
>
> since v2:
> - dropped the patch introducing new address type 'mdev' since I added by
> mistake and only after that realized that the device address type enum is used
> for guest addresses only
> --> the mdevs are still identified by address element containing an 'uuid'
> attribute, I just dropped the enum
> - resolved the driver hostdev list race condition raised by Pavel in his review
> --> the device API is now checked every time our internal mdev object is
> created as opposed to the previous version where because of the model being
> checked separately, the locking issues arose.
> - rewrote the docs, reflecting the mdev address type drop change
> - squashed all security related stuff into 1 patch, also added app-armor bits
> - as Pavel suggested, moved most of the mdev-related functions out of
> virhostdev.c to virmdev.c
> - added a few more test cases
> - created a new branch 'mdev-next' on my github (more suitable name than a
> strict version number) on https://github.com/eskultety/libvirt/commits/mdev-next
>
> since v3:
> - 'undo' an accidental squash of virmdev.{c,h} module introduction into patch
> 4/15 and made it a separate patch again
> - squash 5/15 into 4/15 as Pavel suggested
> - dropped the NEWS patch, as I've so far got at least 4 merge conflicts because
> of it when rebasing...I'll add it before the series is ready to be
> merged...or I'll forget about it like I usually do and add it later :/
>
> Erik
>
> Erik Skultety (14):
> conf: hostdev: Enforce enum-in-switch compile-time checks
> conf: hostdev: Introduce virDomainHostdevSubsysSCSIClear
> conf: Introduce virDomainHostdevDefPostParse
> util: Introduce new module virmdev
> conf: Introduce new hostdev device type mdev
> security: 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
> 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'
>
> docs/formatdomain.html.in | 46 +-
> docs/schemas/domaincommon.rng | 22 +
> po/POTFILES.in | 1 +
> src/Makefile.am | 1 +
> src/conf/domain_conf.c | 225 ++++++++--
> src/conf/domain_conf.h | 9 +
> src/libvirt_private.syms | 25 ++
> src/qemu/qemu_command.c | 45 ++
> src/qemu/qemu_command.h | 5 +
> src/qemu/qemu_domain.c | 24 +-
> src/qemu/qemu_domain.h | 1 +
> src/qemu/qemu_domain_address.c | 14 +-
> src/qemu/qemu_hostdev.c | 56 +++
> src/qemu/qemu_hostdev.h | 10 +
> src/qemu/qemu_hotplug.c | 2 +
> src/security/security_apparmor.c | 22 +
> src/security/security_dac.c | 43 ++
> src/security/security_selinux.c | 45 ++
> src/util/virhostdev.c | 165 ++++++-
> src/util/virhostdev.h | 23 +
> src/util/virmdev.c | 487 +++++++++++++++++++++
> src/util/virmdev.h | 123 ++++++
> tests/domaincapsschemadata/full.xml | 1 +
> ...ml2argv-hostdev-mdev-invalid-target-address.xml | 33 ++
> ...muxml2argv-hostdev-mdev-src-address-invalid.xml | 35 ++
> .../qemuxml2argv-hostdev-mdev-unmanaged.args | 25 ++
> .../qemuxml2argv-hostdev-mdev-unmanaged.xml | 35 ++
> tests/qemuxml2argvtest.c | 9 +
> .../qemuxml2xmlout-hostdev-mdev-unmanaged.xml | 40 ++
> tests/qemuxml2xmltest.c | 1 +
> 30 files changed, 1518 insertions(+), 55 deletions(-)
> create mode 100644 src/util/virmdev.c
> create mode 100644 src/util/virmdev.h
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-mdev-invalid-target-address.xml
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-hostdev-mdev-src-address-invalid.xml
> 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
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vgpu-win10.xml
Type: text/xml
Size: 2390 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170327/be8688a9/attachment-0001.xml>
More information about the libvir-list
mailing list