DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH / RFC ] ethdev: Allow rte_eth_dev_configure with zero RX/TX queues
@ 2016-05-16  9:33 Simon Kagstrom
  2016-05-16 10:24 ` Pattan, Reshma
  2016-06-23 15:53 ` Thomas Monjalon
  0 siblings, 2 replies; 9+ messages in thread
From: Simon Kagstrom @ 2016-05-16  9:33 UTC (permalink / raw)
  To: dev, thomas.monjalon, reshma.pattan

This allows releasing RX/TX queue memory.
---
We're using DPDK 16.04 and have a test suite which performs a sequence
of separate tests of the type

   allocate mempool
   rte_eth_dev_configure(port, n_rxq, n_txq, ...)
   setup rx/tx queues
   rte_eth_dev_start(port)

   <perform actual test>

   stop rx/tx queues
   rte_eth_dev_stop(port)

-> rte_eth_dev_configure(port, 0, 0, ...)
   
   check that there are no leaks from the mempool

The crucial point is the marked line above. This is done so that the
rx_queue_release/tx_queue_release callbacks in the PMD is called, so
that mbufs allocated by the driver is released.

Without this patch, this explicitly isn't allowed. Is there a particular
reason why it shouldn't? It was introduced in

  d505ba80a165a9735f3d9d3c6ab68a7bd85f271b

  "ethdev: support unidirectional configuration"

 lib/librte_ether/rte_ethdev.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index a31018e..5481d45 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -944,11 +944,6 @@ rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 	 */
 	(*dev->dev_ops->dev_infos_get)(dev, &dev_info);
 
-	if (nb_rx_q == 0 && nb_tx_q == 0) {
-		RTE_PMD_DEBUG_TRACE("ethdev port_id=%d both rx and tx queue cannot be 0\n", port_id);
-		return -EINVAL;
-	}
-
 	if (nb_rx_q > dev_info.max_rx_queues) {
 		RTE_PMD_DEBUG_TRACE("ethdev port_id=%d nb_rx_queues=%d > %d\n",
 				port_id, nb_rx_q, dev_info.max_rx_queues);
-- 
1.9.1

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-12-20 23:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-16  9:33 [dpdk-dev] [PATCH / RFC ] ethdev: Allow rte_eth_dev_configure with zero RX/TX queues Simon Kagstrom
2016-05-16 10:24 ` Pattan, Reshma
2016-05-16 10:32   ` Simon Kågström
2016-05-16 12:43     ` Pattan, Reshma
2016-05-16 13:16       ` Simon Kågström
2016-05-20  6:29         ` Simon Kågström
2016-05-20  8:26           ` Pattan, Reshma
2016-06-23 15:53 ` Thomas Monjalon
2018-12-20 23:34   ` Ferruh Yigit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).