[1/3] net/virtio: reject deferred start Rx queue setup

Message ID 1569944672-24754-1-git-send-email-arybchenko@solarflare.com (mailing list archive)
State Superseded, archived
Delegated to: Maxime Coquelin
Headers
Series [1/3] net/virtio: reject deferred start Rx queue setup |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-compilation success Compile Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Andrew Rybchenko Oct. 1, 2019, 3:44 p.m. UTC
  From: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>

Deferred start Rx queue is not supported by the driver.

Fixes: 0748be2cf9a2 ("ethdev: queue start and stop")
Cc: stable@dpdk.org

Signed-off-by: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/virtio/virtio_rxtx.c | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Kevin Traynor Oct. 1, 2019, 4:29 p.m. UTC | #1
Hi,

On 01/10/2019 16:44, Andrew Rybchenko wrote:
> From: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
> 
> Deferred start Rx queue is not supported by the driver.
> 
> Fixes: 0748be2cf9a2 ("ethdev: queue start and stop")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
> ---
>  drivers/net/virtio/virtio_rxtx.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
> index 929aa4cbd..9c8c617f7 100644
> --- a/drivers/net/virtio/virtio_rxtx.c
> +++ b/drivers/net/virtio/virtio_rxtx.c
> @@ -929,6 +929,11 @@ virtio_dev_rx_queue_setup(struct rte_eth_dev *dev,
>  

const struct rte_eth_rxconf *rx_conf __rte_unused,
				     ^^^^^^^^^^^^
The unused can be removed now

>  	PMD_INIT_FUNC_TRACE();
>  
> +	if (rx_conf->rx_deferred_start) {
> +		PMD_INIT_LOG(ERR, "Rx deferred start is not supported");
> +		return -EINVAL;
> +	}
> +
>  	if (nb_desc == 0 || nb_desc > vq->vq_nentries)
>  		nb_desc = vq->vq_nentries;
>  	vq->vq_free_cnt = RTE_MIN(vq->vq_free_cnt, nb_desc);
>
  
Andrew Rybchenko Oct. 1, 2019, 4:39 p.m. UTC | #2
Hi Kevin,

On 10/1/19 7:29 PM, Kevin Traynor wrote:
> Hi,
>
> On 01/10/2019 16:44, Andrew Rybchenko wrote:
>> From: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
>>
>> Deferred start Rx queue is not supported by the driver.
>>
>> Fixes: 0748be2cf9a2 ("ethdev: queue start and stop")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Dilshod Urazov <Dilshod.Urazov@oktetlabs.ru>
>> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
>> ---
>>   drivers/net/virtio/virtio_rxtx.c | 5 +++++
>>   1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
>> index 929aa4cbd..9c8c617f7 100644
>> --- a/drivers/net/virtio/virtio_rxtx.c
>> +++ b/drivers/net/virtio/virtio_rxtx.c
>> @@ -929,6 +929,11 @@ virtio_dev_rx_queue_setup(struct rte_eth_dev *dev,
>>   
> const struct rte_eth_rxconf *rx_conf __rte_unused,
> 				     ^^^^^^^^^^^^
> The unused can be removed now

Thanks, will fix in v2.

>>   	PMD_INIT_FUNC_TRACE();
>>   
>> +	if (rx_conf->rx_deferred_start) {
>> +		PMD_INIT_LOG(ERR, "Rx deferred start is not supported");
>> +		return -EINVAL;
>> +	}
>> +
>>   	if (nb_desc == 0 || nb_desc > vq->vq_nentries)
>>   		nb_desc = vq->vq_nentries;
>>   	vq->vq_free_cnt = RTE_MIN(vq->vq_free_cnt, nb_desc);
>>
  

Patch

diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index 929aa4cbd..9c8c617f7 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -929,6 +929,11 @@  virtio_dev_rx_queue_setup(struct rte_eth_dev *dev,
 
 	PMD_INIT_FUNC_TRACE();
 
+	if (rx_conf->rx_deferred_start) {
+		PMD_INIT_LOG(ERR, "Rx deferred start is not supported");
+		return -EINVAL;
+	}
+
 	if (nb_desc == 0 || nb_desc > vq->vq_nentries)
 		nb_desc = vq->vq_nentries;
 	vq->vq_free_cnt = RTE_MIN(vq->vq_free_cnt, nb_desc);