All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Kagstrom <simon.kagstrom@netinsight.net>
To: dev@dpdk.org, thomas.monjalon@6wind.com, reshma.pattan@intel.com
Subject: [PATCH / RFC ] ethdev: Allow rte_eth_dev_configure with zero RX/TX queues
Date: Mon, 16 May 2016 11:33:49 +0200	[thread overview]
Message-ID: <20160516113349.7d2a992f@miho> (raw)

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

             reply	other threads:[~2016-05-16  9:33 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-16  9:33 Simon Kagstrom [this message]
2016-05-16 10:24 ` [PATCH / RFC ] ethdev: Allow rte_eth_dev_configure with zero RX/TX queues 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160516113349.7d2a992f@miho \
    --to=simon.kagstrom@netinsight.net \
    --cc=dev@dpdk.org \
    --cc=reshma.pattan@intel.com \
    --cc=thomas.monjalon@6wind.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.