[libvirt] [PATCH 0/4] libxl: add support for max grant frames

Jim Fehlig jfehlig at suse.com
Fri Mar 8 23:05:54 UTC 2019


This patch series takes the long road on the way to adding support
for Xen's max_grant_frames to libvirt. Patch1 adds a new 'xenbus'
controller type that supports a maxGrantFrames attribute.
maxGrantFrames describes the maximum IO buffer space (or DMA space)
available in the xenbus controller for use by connected paravirtual
devices.

Patch2 adds a xenbus controller to the domXML in post-parse callback
if one is not explicitly specified, with downside of requiring touching
all test files.

Patch3 adds support for max grant frames in the libxl driver and a
test to check the libxl domain config generator. Patch4 adds support
for the setting on the domXML<->native config converter and also
includes a test.

Jim Fehlig (4):
  conf: Add a new 'xenbus' controller type
  libxl: Add implicit xenbus controller
  libxl: Add support for max_grant_frames
  xenconfig: Add support for max_grant_frames

 docs/formatdomain.html.in                     |  6 ++
 docs/schemas/domaincommon.rng                 | 11 +++
 src/conf/domain_conf.c                        | 25 ++++++
 src/conf/domain_conf.h                        |  8 ++
 src/libxl/libxl_conf.c                        |  9 ++
 src/libxl/libxl_domain.c                      |  5 ++
 src/qemu/qemu_command.c                       |  1 +
 src/qemu/qemu_domain.c                        |  2 +
 src/qemu/qemu_domain_address.c                |  1 +
 src/xenconfig/xen_xl.c                        | 56 ++++++++++++
 .../max-gntframes-hvm.json                    | 90 +++++++++++++++++++
 .../max-gntframes-hvm.xml                     | 37 ++++++++
 tests/libxlxml2domconfigtest.c                |  3 +
 tests/sexpr2xmldata/sexpr2xml-boot-grub.xml   |  1 +
 .../sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml |  1 +
 tests/sexpr2xmldata/sexpr2xml-curmem.xml      |  1 +
 .../sexpr2xml-disk-block-shareable.xml        |  1 +
 tests/sexpr2xmldata/sexpr2xml-disk-block.xml  |  1 +
 .../sexpr2xml-disk-drv-blktap-qcow.xml        |  1 +
 .../sexpr2xml-disk-drv-blktap-raw.xml         |  1 +
 .../sexpr2xml-disk-drv-blktap2-raw.xml        |  1 +
 tests/sexpr2xmldata/sexpr2xml-disk-file.xml   |  1 +
 tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml |  1 +
 .../sexpr2xml-fv-empty-kernel.xml             |  1 +
 .../sexpr2xmldata/sexpr2xml-fv-force-hpet.xml |  1 +
 .../sexpr2xml-fv-force-nohpet.xml             |  1 +
 tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml   |  1 +
 .../sexpr2xmldata/sexpr2xml-fv-localtime.xml  |  1 +
 .../sexpr2xml-fv-net-netfront.xml             |  1 +
 .../sexpr2xml-fv-parallel-tcp.xml             |  1 +
 .../sexpr2xml-fv-serial-dev-2-ports.xml       |  1 +
 .../sexpr2xml-fv-serial-dev-2nd-port.xml      |  1 +
 .../sexpr2xml-fv-serial-file.xml              |  1 +
 .../sexpr2xml-fv-serial-null.xml              |  1 +
 .../sexpr2xml-fv-serial-pipe.xml              |  1 +
 .../sexpr2xmldata/sexpr2xml-fv-serial-pty.xml |  1 +
 .../sexpr2xml-fv-serial-stdio.xml             |  1 +
 .../sexpr2xml-fv-serial-tcp-telnet.xml        |  1 +
 .../sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml |  1 +
 .../sexpr2xmldata/sexpr2xml-fv-serial-udp.xml |  1 +
 .../sexpr2xml-fv-serial-unix.xml              |  1 +
 .../sexpr2xmldata/sexpr2xml-fv-sound-all.xml  |  1 +
 tests/sexpr2xmldata/sexpr2xml-fv-sound.xml    |  1 +
 tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml |  1 +
 .../sexpr2xmldata/sexpr2xml-fv-usbtablet.xml  |  1 +
 tests/sexpr2xmldata/sexpr2xml-fv-utc.xml      |  1 +
 tests/sexpr2xmldata/sexpr2xml-fv-v2.xml       |  1 +
 tests/sexpr2xmldata/sexpr2xml-fv.xml          |  1 +
 tests/sexpr2xmldata/sexpr2xml-net-bridged.xml |  1 +
 tests/sexpr2xmldata/sexpr2xml-net-e1000.xml   |  1 +
 tests/sexpr2xmldata/sexpr2xml-net-routed.xml  |  1 +
 .../sexpr2xml-no-source-cdrom.xml             |  1 +
 tests/sexpr2xmldata/sexpr2xml-pci-devs.xml    |  1 +
 .../sexpr2xml-pv-bootloader-cmdline.xml       |  1 +
 .../sexpr2xmldata/sexpr2xml-pv-bootloader.xml |  1 +
 .../sexpr2xmldata/sexpr2xml-pv-localtime.xml  |  1 +
 tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml    |  1 +
 .../sexpr2xml-pv-vfb-new-vncdisplay.xml       |  1 +
 tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml  |  1 +
 .../sexpr2xml-pv-vfb-type-crash.xml           |  1 +
 tests/sexpr2xmldata/sexpr2xml-pv.xml          |  1 +
 tests/sexpr2xmldata/sexpr2xml-vif-rate.xml    |  1 +
 tests/xlconfigdata/test-channel-pty.xml       |  1 +
 tests/xlconfigdata/test-channel-unix.xml      |  1 +
 .../test-disk-positional-parms-full.xml       |  1 +
 .../test-disk-positional-parms-partial.xml    |  1 +
 tests/xlconfigdata/test-disk-qed.xml          |  1 +
 tests/xlconfigdata/test-fullvirt-cpuid.xml    |  1 +
 ...ullvirt-direct-kernel-boot-bogus-extra.xml |  1 +
 ...test-fullvirt-direct-kernel-boot-extra.xml |  1 +
 .../test-fullvirt-direct-kernel-boot.xml      |  1 +
 .../xlconfigdata/test-fullvirt-hpet-timer.xml |  1 +
 .../test-fullvirt-multi-timer.xml             |  1 +
 .../test-fullvirt-multiserial.xml             |  1 +
 tests/xlconfigdata/test-fullvirt-multiusb.xml |  1 +
 .../test-fullvirt-nestedhvm-disabled.xml      |  1 +
 .../xlconfigdata/test-fullvirt-nestedhvm.xml  |  1 +
 tests/xlconfigdata/test-fullvirt-nohap.xml    |  1 +
 tests/xlconfigdata/test-fullvirt-ovmf.xml     |  1 +
 .../test-fullvirt-ovswitch-tagged.xml         |  1 +
 .../test-fullvirt-ovswitch-trunked.xml        |  1 +
 .../xlconfigdata/test-fullvirt-tsc-timer.xml  |  1 +
 tests/xlconfigdata/test-fullvirt-type.xml     |  1 +
 tests/xlconfigdata/test-fullvirt-vnuma.xml    |  1 +
 tests/xlconfigdata/test-max-gntframes.cfg     | 13 +++
 tests/xlconfigdata/test-max-gntframes.xml     | 32 +++++++
 tests/xlconfigdata/test-new-disk.xml          |  1 +
 ...test-paravirt-cmdline-bogus-extra-root.xml |  1 +
 .../test-paravirt-cmdline-extra-root.xml      |  1 +
 tests/xlconfigdata/test-paravirt-cmdline.xml  |  1 +
 tests/xlconfigdata/test-paravirt-maxvcpus.xml |  1 +
 tests/xlconfigdata/test-paravirt-type.xml     |  1 +
 tests/xlconfigdata/test-pvh-type.xml          |  1 +
 .../test-rbd-multihost-noauth.xml             |  1 +
 tests/xlconfigdata/test-spice-features.xml    |  1 +
 tests/xlconfigdata/test-spice.xml             |  1 +
 tests/xlconfigdata/test-usb.xml               |  1 +
 tests/xlconfigdata/test-usbctrl.xml           |  1 +
 tests/xlconfigdata/test-vif-multi-ip.xml      |  1 +
 tests/xlconfigdata/test-vif-rate.xml          |  1 +
 tests/xlconfigdata/test-vif-typename.xml      |  1 +
 tests/xlconfigtest.c                          |  4 +
 .../xmconfigdata/test-disk-drv-blktap-raw.xml |  1 +
 .../test-disk-drv-blktap2-raw.xml             |  1 +
 tests/xmconfigdata/test-escape-paths.xml      |  1 +
 .../test-fullvirt-default-feature.xml         |  1 +
 .../xmconfigdata/test-fullvirt-force-hpet.xml |  1 +
 .../test-fullvirt-force-nohpet.xml            |  1 +
 .../xmconfigdata/test-fullvirt-localtime.xml  |  1 +
 .../test-fullvirt-net-netfront.xml            |  1 +
 .../xmconfigdata/test-fullvirt-new-cdrom.xml  |  1 +
 tests/xmconfigdata/test-fullvirt-nohap.xml    |  1 +
 .../test-fullvirt-parallel-tcp.xml            |  1 +
 .../test-fullvirt-serial-file.xml             |  1 +
 .../test-fullvirt-serial-null.xml             |  1 +
 .../test-fullvirt-serial-pipe.xml             |  1 +
 .../xmconfigdata/test-fullvirt-serial-pty.xml |  1 +
 .../test-fullvirt-serial-stdio.xml            |  1 +
 .../test-fullvirt-serial-tcp-telnet.xml       |  1 +
 .../xmconfigdata/test-fullvirt-serial-tcp.xml |  1 +
 .../xmconfigdata/test-fullvirt-serial-udp.xml |  1 +
 .../test-fullvirt-serial-unix.xml             |  1 +
 tests/xmconfigdata/test-fullvirt-sound.xml    |  1 +
 tests/xmconfigdata/test-fullvirt-usbmouse.xml |  1 +
 .../xmconfigdata/test-fullvirt-usbtablet.xml  |  1 +
 tests/xmconfigdata/test-fullvirt-utc.xml      |  1 +
 tests/xmconfigdata/test-no-source-cdrom.xml   |  1 +
 .../xmconfigdata/test-paravirt-extra-root.xml |  1 +
 tests/xmconfigdata/test-paravirt-maxvcpus.xml |  1 +
 .../xmconfigdata/test-paravirt-net-e1000.xml  |  1 +
 .../test-paravirt-net-vifname.xml             |  1 +
 .../test-paravirt-new-pvfb-vncdisplay.xml     |  1 +
 tests/xmconfigdata/test-paravirt-new-pvfb.xml |  1 +
 tests/xmconfigdata/test-paravirt-root.xml     |  1 +
 tests/xmconfigdata/test-paravirt-vcpu.xml     |  1 +
 tests/xmconfigdata/test-pci-devs.xml          |  1 +
 136 files changed, 423 insertions(+)
 create mode 100644 tests/libxlxml2domconfigdata/max-gntframes-hvm.json
 create mode 100644 tests/libxlxml2domconfigdata/max-gntframes-hvm.xml
 create mode 100644 tests/xlconfigdata/test-max-gntframes.cfg
 create mode 100644 tests/xlconfigdata/test-max-gntframes.xml

-- 
2.20.1




More information about the libvir-list mailing list