DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/bonding: use evenly distributed default RSS RETA
@ 2018-08-29  7:48 Andrew Rybchenko
  2018-09-04 13:29 ` Chas Williams
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Rybchenko @ 2018-08-29  7:48 UTC (permalink / raw)
  To: Declan Doherty, Chas Williams; +Cc: dev, Igor Romanov, stable

From: Igor Romanov <igor.romanov@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: stable@dpdk.org

Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] net/bonding: use evenly distributed default RSS RETA
  2018-08-29  7:48 [dpdk-dev] [PATCH] net/bonding: use evenly distributed default RSS RETA Andrew Rybchenko
@ 2018-09-04 13:29 ` Chas Williams
  2018-09-13 15:12   ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
  0 siblings, 1 reply; 3+ messages in thread
From: Chas Williams @ 2018-09-04 13:29 UTC (permalink / raw)
  To: arybchenko; +Cc: Declan Doherty, Chas Williams, dev, igor.romanov, stable

On Wed, Aug 29, 2018 at 3:48 AM Andrew Rybchenko <arybchenko@solarflare.com>
wrote:

> From: Igor Romanov <igor.romanov@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: stable@dpdk.org
>
> Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
>

Acked-by: Chas Williams <chas3@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
>
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [dpdk-stable] [PATCH] net/bonding: use evenly distributed default RSS RETA
  2018-09-04 13:29 ` Chas Williams
@ 2018-09-13 15:12   ` Ferruh Yigit
  0 siblings, 0 replies; 3+ messages in thread
From: Ferruh Yigit @ 2018-09-13 15:12 UTC (permalink / raw)
  To: Chas Williams, arybchenko
  Cc: Declan Doherty, Chas Williams, dev, igor.romanov, stable

On 9/4/2018 2:29 PM, Chas Williams wrote:
> On Wed, Aug 29, 2018 at 3:48 AM Andrew Rybchenko <arybchenko@solarflare.com>
> wrote:
> 
>> From: Igor Romanov <igor.romanov@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: stable@dpdk.org
>>
>> Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>
>> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
>>
> 
> Acked-by: Chas Williams <chas3@att.com>

Applied to dpdk-next-net/master, thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-09-13 15:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-29  7:48 [dpdk-dev] [PATCH] net/bonding: use evenly distributed default RSS RETA Andrew Rybchenko
2018-09-04 13:29 ` Chas Williams
2018-09-13 15:12   ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).