[dpdk-dev] [PATCH] app/testpmd: reduce memory consumption
David Marchand
david.marchand at redhat.com
Thu Nov 21 21:32:22 CET 2019
On Thu, Nov 21, 2019 at 5:45 PM Stephen Hemminger
<stephen at networkplumber.org> wrote:
>
> On Thu, 21 Nov 2019 16:12:55 +0100
> David Marchand <david.marchand at redhat.com> wrote:
>
> > - uint16_t nb_rx_desc[MAX_QUEUE_ID+1]; /**< per queue rx desc number */
> > - uint16_t nb_tx_desc[MAX_QUEUE_ID+1]; /**< per queue tx desc number */
> > - struct rte_eth_rxconf rx_conf[MAX_QUEUE_ID+1]; /**< per queue rx configuration */
> > - struct rte_eth_txconf tx_conf[MAX_QUEUE_ID+1]; /**< per queue tx configuration */
> > + uint16_t nb_rx_desc[RTE_MAX_QUEUES_PER_PORT+1]; /**< per queue rx desc number */
> > + uint16_t nb_tx_desc[RTE_MAX_QUEUES_PER_PORT+1]; /**< per queue tx desc number */
> > + struct rte_eth_rxconf rx_conf[RTE_MAX_QUEUES_PER_PORT+1]; /**< per queue rx configuration */
> > + struct rte_eth_txconf tx_conf[RTE_MAX_QUEUES_PER_PORT+1]; /**< per queue tx configuration */
>
> Why not put all the per-queue stuff together in one structure
> and put it at the end. Then dynamically size based on number of queues?
This is something that could be done.
At first glance, the code is relying on those arrays being contiguous,
but it should not be a problem.
The reason for the size '+1' is not obvious to me.
Not saying that would be difficult to investigate and fix/rework all this.
My approach seems the quickest and less risky after rc3.
I can look at this post 19.11 (but volunteers are welcome, testpmd
needs some love).
--
David Marchand
More information about the dev
mailing list