From 617d1ac2fd22e9a82d305c0607853f4ee0f7277b Mon Sep 17 00:00:00 2001 From: Igor Romanov Date: Wed, 29 Aug 2018 08:48:30 +0100 Subject: [PATCH] net/bonding: use evenly distributed default RSS RETA 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: stable@dpdk.org Signed-off-by: Igor Romanov Signed-off-by: Andrew Rybchenko Acked-by: Chas Williams --- 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 b84f322630..0f5ab09e38 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.20.1