On Wed, Jun 12, 2024 at 03:02:21 -0700, wucf@xxxxxxxxxxxxx wrote: > From: Chun Feng Wu <wucf@xxxxxxxxxxxxx> > > * Add tests for "throttlegroup" > * Add tests for "throttlefilter" > > Signed-off-by: Chun Feng Wu <wucf@xxxxxxxxxxxxx> > --- > .../throttlefilter.x86_64-latest.args | 43 ++++++++++++ > .../throttlefilter.x86_64-latest.xml | 65 +++++++++++++++++++ > tests/qemuxmlconfdata/throttlefilter.xml | 55 ++++++++++++++++ > tests/qemuxmlconftest.c | 1 + > 4 files changed, 164 insertions(+) > create mode 100644 tests/qemuxmlconfdata/throttlefilter.x86_64-latest.args > create mode 100644 tests/qemuxmlconfdata/throttlefilter.x86_64-latest.xml > create mode 100644 tests/qemuxmlconfdata/throttlefilter.xml [...] > diff --git a/tests/qemuxmlconfdata/throttlefilter.xml b/tests/qemuxmlconfdata/throttlefilter.xml > new file mode 100644 > index 0000000000..10b7d1c01b > --- /dev/null > +++ b/tests/qemuxmlconfdata/throttlefilter.xml > @@ -0,0 +1,55 @@ > +<domain type='qemu'> > + <name>QEMUGuest1</name> > + <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> > + <memory unit='KiB'>219100</memory> > + <currentMemory unit='KiB'>219100</currentMemory> > + <vcpu placement='static'>1</vcpu> > + <throttlegroups> > + <throttlegroup> > + <total_bytes_sec>5000</total_bytes_sec> > + <total_iops_sec>6000</total_iops_sec> > + <group_name>limit0</group_name> > + </throttlegroup> > + <throttlegroup> > + <read_bytes_sec>5000</read_bytes_sec> > + <write_bytes_sec>5000</write_bytes_sec> > + <total_iops_sec>7000</total_iops_sec> > + <group_name>limit1</group_name> > + </throttlegroup> > + </throttlegroups> > + <os> > + <type arch='x86_64' machine='pc'>hvm</type> > + <boot dev='hd'/> > + </os> > + <clock offset='utc'/> > + <on_poweroff>destroy</on_poweroff> > + <on_reboot>restart</on_reboot> > + <on_crash>destroy</on_crash> > + <devices> > + <emulator>/usr/bin/qemu-system-x86_64</emulator> > + <disk type='block' device='disk'> > + <driver name='qemu' type='qcow2' cache='none'/> > + <source dev='/dev/HostVG/QEMUGuest1'/> > + <target dev='hda' bus='ide'/> > + <throttlefilters> > + <throttlefilter group='limit0'/> > + </throttlefilters> > + <address type='drive' controller='0' bus='0' target='0' unit='0'/> > + </disk> > + <disk type='block' device='disk'> > + <driver name='qemu' type='qcow2' cache='none'/> > + <source dev='/dev/HostVG/QEMUGuest2'/> > + <target dev='hdb' bus='ide'/> > + <throttlefilters> > + <throttlefilter group='limit1'/> Please add also one more complex example of a disk referencing multiple groups. Otherwise this'd be identical to what we already support. For completness you can also add one group that is not used by any disk. > + </throttlefilters> > + <address type='drive' controller='0' bus='0' target='0' unit='1'/> > + </disk> > + <controller type='usb' index='0'/> > + <controller type='ide' index='0'/> > + <controller type='pci' index='0' model='pci-root'/> > + <input type='mouse' bus='ps2'/> > + <input type='keyboard' bus='ps2'/> > + <memballoon model='virtio'/> > + </devices> > +</domain> I also expect at least one negative test case showing how the mixing of throttling via groups and directly you explicitly forbid is handled so that we don't regress in that regard.