On Wed, Aug 29, 2018 at 3:48 AM Andrew Rybchenko <arybche...@solarflare.com> wrote:
> From: Igor Romanov <igor.roma...@oktetlabs.ru> > > 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: sta...@dpdk.org > > Signed-off-by: Igor Romanov <igor.roma...@oktetlabs.ru> > Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com> > Acked-by: Chas Williams <ch...@att.com> > --- > 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 > >