On 30 Apr 2019, at 14:18, David Marchand wrote:
Looking at the reload flag only every 1024 loops can be a long time
under load, since we might be handling 32 packets per iteration, which
means 32k packets.
Look at the flag every loop, no major performance impact seen.
Signed-off-by: David Marchand <[email protected]>
---
lib/dpif-netdev.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 45993a3..d8018af 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -5482,7 +5482,6 @@ reload:
poll_block();
}
}
- lc = UINT_MAX;
}
pmd->intrvl_tsc_prev = 0;
@@ -5526,12 +5525,13 @@ reload:
if (!ovsrcu_try_quiesce()) {
emc_cache_slow_sweep(&((pmd->flow_cache).emc_cache));
}
+ }
- atomic_read_relaxed(&pmd->reload, &reload);
- if (reload) {
- break;
- }
+ atomic_read_relaxed(&pmd->reload, &reload);
Would be interesting to see if there is any impact when change to none
relaxed?
+ if (OVS_UNLIKELY(reload)) {
+ break;
}
+
pmd_perf_end_iteration(s, rx_packets, tx_packets,
pmd_perf_metrics_enabled(pmd));
}
--
1.8.3.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev