使用 qemu dataplane 报告 '.x-data-plane' not found

use qemu dataplane report '.x-data-plane' not found

我想使用 qemu dataplane 来提高虚拟机 io 性能。 所以我把它加到libvirt.xml:

<qemu: commandline>
    <qemu: arg value = '- set' />
    <qemu: arg value = 'device.virtio-disk0.x-data-plane = on' />
</qemu: commandline>

于是我virsh启动虚拟机,结果报如下错误:

qemu-kvm:-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1:属性 '.x-data-plane' 未找到

这份报告有什么问题?编译器 qemu 丢失参数了吗?

"x-data-plane" 是一个实验性选项,因此有 x- 前缀。这意味着永远无法保证该选项会在 QEMU 的新版本中保持存在,或者它在不同版本之间的行为方式相同。

事实上,此选项已于 2015 年删除:

commit a616fb75c23d768abdc8688d4d6811d3d7eb03e4
Author: Fam Zheng <famz@redhat.com>
Date:   Mon Dec 7 18:59:27 2015 +0800

virtio-blk: Drop x-data-plane option

The official way of enabling dataplane is through the "iothread"
property that references an iothread object created by "-object
iothread".  Since the old "x-data-plane=on" way now even crashes, it's
probably easier to just drop it.

因此,要么您使用的 QEMU 太旧以至于从不支持该选项,要么您使用的 QEMU 足够新以至于该选项被删除,可能是后者。您应该找出并使用 "official way" 来启用提交消息中提到的数据平面。