提交 979500e1 编写于 作者: B Bjoern Walk 提交者: Ján Tomko

qemu: capabilities: add 'packed' capability

Add the capability for QEMU's packed virtqueues for virtio that supposedly have
better cache utilization and performance compared to the default split queues.
Reviewed-by: NJán Tomko <jtomko@redhat.com>
Reviewed-by: NBoris Fiuczynski <fiuczy@linux.ibm.com>
Signed-off-by: NBjoern Walk <bwalk@linux.ibm.com>
Signed-off-by: NJán Tomko <jtomko@redhat.com>
上级 763416e1
...@@ -571,6 +571,7 @@ VIR_ENUM_IMPL(virQEMUCaps, ...@@ -571,6 +571,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
/* 360 */ /* 360 */
"fsdev.multidevs", "fsdev.multidevs",
"virtio.packed",
); );
...@@ -1295,6 +1296,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = { ...@@ -1295,6 +1296,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBalloon[] = {
{ "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY }, { "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY },
{ "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM }, { "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM },
{ "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, { "ats", QEMU_CAPS_VIRTIO_PCI_ATS },
{ "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES },
}; };
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBlk[] = { static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBlk[] = {
...@@ -1309,6 +1311,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBlk[] = { ...@@ -1309,6 +1311,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioBlk[] = {
{ "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, { "ats", QEMU_CAPS_VIRTIO_PCI_ATS },
{ "write-cache", QEMU_CAPS_DISK_WRITE_CACHE }, { "write-cache", QEMU_CAPS_DISK_WRITE_CACHE },
{ "werror", QEMU_CAPS_STORAGE_WERROR }, { "werror", QEMU_CAPS_STORAGE_WERROR },
{ "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES },
}; };
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioNet[] = { static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioNet[] = {
...@@ -1321,6 +1324,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioNet[] = { ...@@ -1321,6 +1324,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioNet[] = {
{ "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM }, { "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM },
{ "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, { "ats", QEMU_CAPS_VIRTIO_PCI_ATS },
{ "failover", QEMU_CAPS_VIRTIO_NET_FAILOVER }, { "failover", QEMU_CAPS_VIRTIO_NET_FAILOVER },
{ "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES },
}; };
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsSpaprPCIHostBridge[] = { static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsSpaprPCIHostBridge[] = {
...@@ -1332,6 +1336,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioSCSI[] = { ...@@ -1332,6 +1336,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioSCSI[] = {
{ "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY }, { "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY },
{ "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM }, { "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM },
{ "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, { "ats", QEMU_CAPS_VIRTIO_PCI_ATS },
{ "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES },
}; };
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVfioPCI[] = { static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVfioPCI[] = {
...@@ -1401,6 +1406,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioGpu[] = { ...@@ -1401,6 +1406,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsVirtioGpu[] = {
{ "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY }, { "disable-legacy", QEMU_CAPS_VIRTIO_PCI_DISABLE_LEGACY },
{ "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM }, { "iommu_platform", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM },
{ "ats", QEMU_CAPS_VIRTIO_PCI_ATS }, { "ats", QEMU_CAPS_VIRTIO_PCI_ATS },
{ "packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES },
}; };
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsICH9[] = { static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsICH9[] = {
......
...@@ -552,6 +552,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ ...@@ -552,6 +552,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
/* 360 */ /* 360 */
QEMU_CAPS_FSDEV_MULTIDEVS, /* fsdev.multidevs */ QEMU_CAPS_FSDEV_MULTIDEVS, /* fsdev.multidevs */
QEMU_CAPS_VIRTIO_PACKED_QUEUES, /* virtio.packed */
QEMU_CAPS_LAST /* this must always be the last item */ QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags; } virQEMUCapsFlags;
......
...@@ -181,6 +181,7 @@ ...@@ -181,6 +181,7 @@
<flag name='vhost-user-fs'/> <flag name='vhost-user-fs'/>
<flag name='storage.werror'/> <flag name='storage.werror'/>
<flag name='fsdev.multidevs'/> <flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<version>4001050</version> <version>4001050</version>
<kvmVersion>0</kvmVersion> <kvmVersion>0</kvmVersion>
<microcodeVersion>61700242</microcodeVersion> <microcodeVersion>61700242</microcodeVersion>
......
...@@ -146,6 +146,7 @@ ...@@ -146,6 +146,7 @@
<flag name='vhost-user-fs'/> <flag name='vhost-user-fs'/>
<flag name='storage.werror'/> <flag name='storage.werror'/>
<flag name='fsdev.multidevs'/> <flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<version>4002000</version> <version>4002000</version>
<kvmVersion>0</kvmVersion> <kvmVersion>0</kvmVersion>
<microcodeVersion>39100242</microcodeVersion> <microcodeVersion>39100242</microcodeVersion>
......
...@@ -225,6 +225,7 @@ ...@@ -225,6 +225,7 @@
<flag name='vhost-user-fs'/> <flag name='vhost-user-fs'/>
<flag name='storage.werror'/> <flag name='storage.werror'/>
<flag name='fsdev.multidevs'/> <flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<version>4002000</version> <version>4002000</version>
<kvmVersion>0</kvmVersion> <kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion> <microcodeVersion>43100242</microcodeVersion>
......
...@@ -183,6 +183,7 @@ ...@@ -183,6 +183,7 @@
<flag name='vhost-user-fs'/> <flag name='vhost-user-fs'/>
<flag name='storage.werror'/> <flag name='storage.werror'/>
<flag name='fsdev.multidevs'/> <flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<version>4002050</version> <version>4002050</version>
<kvmVersion>0</kvmVersion> <kvmVersion>0</kvmVersion>
<microcodeVersion>61700241</microcodeVersion> <microcodeVersion>61700241</microcodeVersion>
......
...@@ -191,6 +191,7 @@ ...@@ -191,6 +191,7 @@
<flag name='blockdev-snapshot.allow-write-only-overlay'/> <flag name='blockdev-snapshot.allow-write-only-overlay'/>
<flag name='storage.werror'/> <flag name='storage.werror'/>
<flag name='fsdev.multidevs'/> <flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<version>4002050</version> <version>4002050</version>
<kvmVersion>0</kvmVersion> <kvmVersion>0</kvmVersion>
<microcodeVersion>42900241</microcodeVersion> <microcodeVersion>42900241</microcodeVersion>
......
...@@ -228,6 +228,7 @@ ...@@ -228,6 +228,7 @@
<flag name='blockdev-snapshot.allow-write-only-overlay'/> <flag name='blockdev-snapshot.allow-write-only-overlay'/>
<flag name='storage.werror'/> <flag name='storage.werror'/>
<flag name='fsdev.multidevs'/> <flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<version>4002091</version> <version>4002091</version>
<kvmVersion>0</kvmVersion> <kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion> <microcodeVersion>43100241</microcodeVersion>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册