[dpdk-dev] [PATCH v9 8/8] net/virtio: enable packed virtqueues by default
Jens Freimann
jfreimann at redhat.com
Fri Nov 2 09:58:21 CET 2018
On Fri, Oct 26, 2018 at 02:06:24PM +0800, Tiwei Bie wrote:
>On Wed, Oct 24, 2018 at 04:32:36PM +0200, Jens Freimann wrote:
>> Signed-off-by: Jens Freimann <jfreimann at redhat.com>
>> ---
>> drivers/net/virtio/virtio_ethdev.h | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/net/virtio/virtio_ethdev.h b/drivers/net/virtio/virtio_ethdev.h
>> index 6c9247639..d9b4feee2 100644
>> --- a/drivers/net/virtio/virtio_ethdev.h
>> +++ b/drivers/net/virtio/virtio_ethdev.h
>> @@ -34,6 +34,7 @@
>> 1u << VIRTIO_RING_F_INDIRECT_DESC | \
>> 1ULL << VIRTIO_F_VERSION_1 | \
>> 1ULL << VIRTIO_F_IN_ORDER | \
>> + 1ULL << VIRTIO_F_RING_PACKED | \
>
>Virtio-user will be broken when packed ring and CQ
>are negotiated. We need to fix this.
How would you fix this? Is it acceptable to disable packed virtqueues
for now in virtio-user when both RING_PACKED and CQ is requested?
Like this:
diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c b/drivers/net/virtio/virtio_user/virtio_user
index 20816c9..3105bef 100644
--- a/drivers/net/virtio/virtio_user/virtio_user_dev.c
+++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c
@@ -474,6 +474,7 @@ int virtio_user_stop_device(struct virtio_user_dev *dev)
* so if necessary, we just claim to support CQ
*/
dev->frontend_features |= (1ull << VIRTIO_NET_F_CTRL_VQ);
+ dev->unsupported_features |= (1ULL << VIRTIO_F_RING_PACKED);
} else {
dev->unsupported_features |= (1ull << VIRTIO_NET_F_CTRL_VQ);
/* Also disable features that depend on VIRTIO_NET_F_CTRL_VQ */
regards,
Jens
More information about the dev
mailing list