[v5,09/11] net/virtio: disable ctrl virtqueue for packed rings
Checks
Commit Message
Signed-off-by: Jens Freiman <jfreimann@redhat.com>
---
drivers/net/virtio/virtio_ethdev.c | 9 +++++++++
1 file changed, 9 insertions(+)
Comments
On Thu, Sep 06, 2018 at 07:19:45PM +0100, Jens Freimann wrote:
> Signed-off-by: Jens Freiman <jfreimann@redhat.com>
> ---
> drivers/net/virtio/virtio_ethdev.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index a2bb726ba..b02c65598 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1161,6 +1161,15 @@ virtio_negotiate_features(struct virtio_hw *hw, uint64_t req_features)
> req_features &= ~(1ULL << VIRTIO_NET_F_MTU);
> }
>
> +#ifdef RTE_LIBRTE_VIRTIO_PQ
> + if (req_features & (1ULL << VIRTIO_F_RING_PACKED)) {
> + req_features &= ~(1ull << VIRTIO_NET_F_CTRL_MAC_ADDR);
> + req_features &= ~(1ull << VIRTIO_NET_F_CTRL_VQ);
> + req_features &= ~(1ull << VIRTIO_NET_F_CTRL_RX);
> + req_features &= ~(1ull << VIRTIO_NET_F_CTRL_VLAN);
> + }
> +#endif
I think we need to support ctrl vq.
And in performance test, we need to use more cores on vhost
side to make sure that we can get the max performance of the
virtio PMD. Otherwise, it's likely that the performance gain
we get is the gain in vhost.
> +
> /*
> * Negotiate features: Subset of device feature bits are written back
> * guest feature bits.
> --
> 2.17.1
>
On Fri, Sep 14, 2018 at 01:32:36PM +0800, Tiwei Bie wrote:
>On Thu, Sep 06, 2018 at 07:19:45PM +0100, Jens Freimann wrote:
>> Signed-off-by: Jens Freiman <jfreimann@redhat.com>
>> ---
>> drivers/net/virtio/virtio_ethdev.c | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
>> index a2bb726ba..b02c65598 100644
>> --- a/drivers/net/virtio/virtio_ethdev.c
>> +++ b/drivers/net/virtio/virtio_ethdev.c
>> @@ -1161,6 +1161,15 @@ virtio_negotiate_features(struct virtio_hw *hw, uint64_t req_features)
>> req_features &= ~(1ULL << VIRTIO_NET_F_MTU);
>> }
>>
>> +#ifdef RTE_LIBRTE_VIRTIO_PQ
>> + if (req_features & (1ULL << VIRTIO_F_RING_PACKED)) {
>> + req_features &= ~(1ull << VIRTIO_NET_F_CTRL_MAC_ADDR);
>> + req_features &= ~(1ull << VIRTIO_NET_F_CTRL_VQ);
>> + req_features &= ~(1ull << VIRTIO_NET_F_CTRL_RX);
>> + req_features &= ~(1ull << VIRTIO_NET_F_CTRL_VLAN);
>> + }
>> +#endif
>
>I think we need to support ctrl vq.
I will add it to the next version.
>
>And in performance test, we need to use more cores on vhost
>side to make sure that we can get the max performance of the
>virtio PMD. Otherwise, it's likely that the performance gain
>we get is the gain in vhost.
ok.
thanks!
regards,
Jens
@@ -1161,6 +1161,15 @@ virtio_negotiate_features(struct virtio_hw *hw, uint64_t req_features)
req_features &= ~(1ULL << VIRTIO_NET_F_MTU);
}
+#ifdef RTE_LIBRTE_VIRTIO_PQ
+ if (req_features & (1ULL << VIRTIO_F_RING_PACKED)) {
+ req_features &= ~(1ull << VIRTIO_NET_F_CTRL_MAC_ADDR);
+ req_features &= ~(1ull << VIRTIO_NET_F_CTRL_VQ);
+ req_features &= ~(1ull << VIRTIO_NET_F_CTRL_RX);
+ req_features &= ~(1ull << VIRTIO_NET_F_CTRL_VLAN);
+ }
+#endif
+
/*
* Negotiate features: Subset of device feature bits are written back
* guest feature bits.