On Wed, Aug 29, 2018 at 3:48 AM Andrew Rybchenko <[email protected]> wrote:
> From: Igor Romanov <[email protected]> > > Default Redirection Table that is set in bonding driver is distributed > evenly over all Rx queues only within every RETA group (the first RETA > entries in every group are always start with zero). But in the most > drivers, default RETA is distributed over all Rx queues without sequence > resets in the beginning of a new group, which implies more balanced > per-core load. > > Change the default RETA to be evenly distributed over all Rx queues > considering the whole table. > > Fixes: 734ce47f71e0 ("bonding: support RSS dynamic configuration") > Cc: [email protected] > > Signed-off-by: Igor Romanov <[email protected]> > Signed-off-by: Andrew Rybchenko <[email protected]> > Acked-by: Chas Williams <[email protected]> > --- > drivers/net/bonding/rte_eth_bond_pmd.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c > b/drivers/net/bonding/rte_eth_bond_pmd.c > index b84f32263..0f5ab09e3 100644 > --- a/drivers/net/bonding/rte_eth_bond_pmd.c > +++ b/drivers/net/bonding/rte_eth_bond_pmd.c > @@ -3293,7 +3293,9 @@ bond_ethdev_configure(struct rte_eth_dev *dev) > for (i = 0; i < RTE_DIM(internals->reta_conf); i++) { > internals->reta_conf[i].mask = ~0LL; > for (j = 0; j < RTE_RETA_GROUP_SIZE; j++) > - internals->reta_conf[i].reta[j] = j % > dev->data->nb_rx_queues; > + internals->reta_conf[i].reta[j] = > + (i * RTE_RETA_GROUP_SIZE + > j) % > + dev->data->nb_rx_queues; > } > } > > -- > 2.17.1 > >

