examples/distributor: one Tx queue is enough
Checks
Commit Message
Distributor application creates one Tx queue per core. However
the transmit is done only from a single core. Hence creating
one Tx queue is enough.
Fixes: 07db4a975094 ("examples/distributor: new sample app")
Cc: bruce.richardson@intel.com
Cc: reshma.pattan@intel.com
Cc: stable@dpdk.org
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
DTS test cases make this change to DPDK. However, I find that, one
queue is enough. Hence we could make this change in DPDK.
examples/distributor/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
The ABI test failure is not related to this patch.
Thanks,
Honnappa
> -----Original Message-----
> From: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Sent: Monday, March 7, 2022 4:40 PM
> To: dev@dpdk.org; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>; lijuan.tu@intel.com;
> juraj.linkes@pantheon.tech; ohilyard@iol.unh.edu;
> david.marchand@redhat.com; thomas@monjalon.net; david.hunt@intel.com
> Cc: Ruifeng Wang <Ruifeng.Wang@arm.com>; nd <nd@arm.com>;
> bruce.richardson@intel.com; reshma.pattan@intel.com; stable@dpdk.org
> Subject: [PATCH] examples/distributor: one Tx queue is enough
>
> Distributor application creates one Tx queue per core. However the transmit is
> done only from a single core. Hence creating one Tx queue is enough.
>
> Fixes: 07db4a975094 ("examples/distributor: new sample app")
> Cc: bruce.richardson@intel.com
> Cc: reshma.pattan@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> ---
> DTS test cases make this change to DPDK. However, I find that, one queue is
> enough. Hence we could make this change in DPDK.
>
> examples/distributor/main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/examples/distributor/main.c b/examples/distributor/main.c index
> c681e237ea..02bf91f555 100644
> --- a/examples/distributor/main.c
> +++ b/examples/distributor/main.c
> @@ -108,7 +108,7 @@ static inline int
> port_init(uint16_t port, struct rte_mempool *mbuf_pool) {
> struct rte_eth_conf port_conf = port_conf_default;
> - const uint16_t rxRings = 1, txRings = rte_lcore_count() - 1;
> + const uint16_t rxRings = 1, txRings = 1;
> int retval;
> uint16_t q;
> uint16_t nb_rxd = RX_RING_SIZE;
> --
> 2.25.1
On Mon, Mar 07, 2022 at 10:39:46PM +0000, Honnappa Nagarahalli wrote:
> Distributor application creates one Tx queue per core. However
> the transmit is done only from a single core. Hence creating
> one Tx queue is enough.
>
> Fixes: 07db4a975094 ("examples/distributor: new sample app")
> Cc: bruce.richardson@intel.com
> Cc: reshma.pattan@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> ---
> DTS test cases make this change to DPDK. However, I find that, one
> queue is enough. Hence we could make this change in DPDK.
>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Do we know why DTS is making this change? Does having more TX queues than
necessary cause problems?
08/03/2022 11:00, Bruce Richardson:
> On Mon, Mar 07, 2022 at 10:39:46PM +0000, Honnappa Nagarahalli wrote:
> > Distributor application creates one Tx queue per core. However
> > the transmit is done only from a single core. Hence creating
> > one Tx queue is enough.
> >
> > Fixes: 07db4a975094 ("examples/distributor: new sample app")
> > Cc: bruce.richardson@intel.com
> > Cc: reshma.pattan@intel.com
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
> > ---
> > DTS test cases make this change to DPDK. However, I find that, one
> > queue is enough. Hence we could make this change in DPDK.
> >
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Applied, thanks.
> Do we know why DTS is making this change? Does having more TX queues than
> necessary cause problems?
DTS is to reduce tx queues to enable many workers for performance testing.
Distributor application creates one Tx queue per core, and total (lcore-1) queues,
Which make it only 1 worker, but it only use a single queue to transmit.
That's not make sense, so we request to fix it.
@@ -108,7 +108,7 @@ static inline int
port_init(uint16_t port, struct rte_mempool *mbuf_pool)
{
struct rte_eth_conf port_conf = port_conf_default;
- const uint16_t rxRings = 1, txRings = rte_lcore_count() - 1;
+ const uint16_t rxRings = 1, txRings = 1;
int retval;
uint16_t q;
uint16_t nb_rxd = RX_RING_SIZE;