On 7/19/2019 2:07 PM, Ed Czeck wrote: > Queue index was incorrectly incremented with port, which > caused swizzling of packet placement among queues.
What is "swizzling of packet placement"? 'qidx' is used to set 'phys_qid', if what the name suggest is correct it is used to access the actual physical queues. How this was working if you are calculating physical queue indexes wrong? (Of-course except port 0) Are you actually fixing the multiple port support? > This manifested > when the number of configured ports was >1 and < nb_queues. I can see port number ">1", but is the 'nb_queues' limitation real? If there are 2 queues per port, and you are configuring 3 ports will the original calculation be correct? > > Fixes: c33d45af3633 ("net/ark: add Tx initial version") > Cc: sta...@dpdk.org > > Signed-off-by: Ed Czeck <ed.cz...@atomicrules.com> > --- > drivers/net/ark/ark_ethdev_rx.c | 4 +--- > drivers/net/ark/ark_ethdev_tx.c | 4 +--- > 2 files changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/ark/ark_ethdev_rx.c b/drivers/net/ark/ark_ethdev_rx.c > index 7de1a98..6156730 100644 > --- a/drivers/net/ark/ark_ethdev_rx.c > +++ b/drivers/net/ark/ark_ethdev_rx.c > @@ -127,9 +127,7 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev, > uint32_t i; > int status; > > - /* Future works: divide the Q's evenly with multi-ports */ > - int port = dev->data->port_id; > - int qidx = port + queue_idx; > + int qidx = queue_idx; > > /* We may already be setup, free memory prior to re-allocation */ > if (dev->data->rx_queues[queue_idx] != NULL) { > diff --git a/drivers/net/ark/ark_ethdev_tx.c b/drivers/net/ark/ark_ethdev_tx.c > index 1967655..08bcf43 100644 > --- a/drivers/net/ark/ark_ethdev_tx.c > +++ b/drivers/net/ark/ark_ethdev_tx.c > @@ -211,9 +211,7 @@ eth_ark_tx_queue_setup(struct rte_eth_dev *dev, > struct ark_tx_queue *queue; > int status; > > - /* Future: divide the Q's evenly with multi-ports */ > - int port = dev->data->port_id; > - int qidx = port + queue_idx; > + int qidx = queue_idx; > > if (!rte_is_power_of_2(nb_desc)) { > PMD_DRV_LOG(ERR, >