diff mbox series

[net] nfp: flower: fix used time of merge flow statistics

Message ID 20200527074420.11232-1-simon.horman@netronome.com
State Accepted
Delegated to: David Miller
Headers show
Series [net] nfp: flower: fix used time of merge flow statistics | expand

Commit Message

Simon Horman May 27, 2020, 7:44 a.m. UTC
From: Heinrich Kuhn <heinrich.kuhn@netronome.com>

Prior to this change the correct value for the used counter is calculated
but not stored nor, therefore, propagated to user-space. In use-cases such
as OVS use-case at least this results in active flows being removed from
the hardware datapath. Which results in both unnecessary flow tear-down
and setup, and packet processing on the host.

This patch addresses the problem by saving the calculated used value
which allows the value to propagate to user-space.

Found by inspection.

Fixes: aa6ce2ea0c93 ("nfp: flower: support stats update for merge flows")
Signed-off-by: Heinrich Kuhn <heinrich.kuhn@netronome.com>
Signed-off-by: Simon Horman <simon.horman@netronome.com>
---
 drivers/net/ethernet/netronome/nfp/flower/offload.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

David Miller May 27, 2020, 6:19 p.m. UTC | #1
From: Simon Horman <simon.horman@netronome.com>
Date: Wed, 27 May 2020 09:44:20 +0200

> From: Heinrich Kuhn <heinrich.kuhn@netronome.com>
> 
> Prior to this change the correct value for the used counter is calculated
> but not stored nor, therefore, propagated to user-space. In use-cases such
> as OVS use-case at least this results in active flows being removed from
> the hardware datapath. Which results in both unnecessary flow tear-down
> and setup, and packet processing on the host.
> 
> This patch addresses the problem by saving the calculated used value
> which allows the value to propagate to user-space.
> 
> Found by inspection.
> 
> Fixes: aa6ce2ea0c93 ("nfp: flower: support stats update for merge flows")
> Signed-off-by: Heinrich Kuhn <heinrich.kuhn@netronome.com>
> Signed-off-by: Simon Horman <simon.horman@netronome.com>

Applied and queued up for -stable, thanks.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/netronome/nfp/flower/offload.c b/drivers/net/ethernet/netronome/nfp/flower/offload.c
index c694dbc239d0..6b60771ccb19 100644
--- a/drivers/net/ethernet/netronome/nfp/flower/offload.c
+++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c
@@ -1440,7 +1440,8 @@  __nfp_flower_update_merge_stats(struct nfp_app *app,
 		ctx_id = be32_to_cpu(sub_flow->meta.host_ctx_id);
 		priv->stats[ctx_id].pkts += pkts;
 		priv->stats[ctx_id].bytes += bytes;
-		max_t(u64, priv->stats[ctx_id].used, used);
+		priv->stats[ctx_id].used = max_t(u64, used,
+						 priv->stats[ctx_id].used);
 	}
 }