[ovs-dev] [RFC 5/5] dpif-netdev: Catch reloads faster.
Eelco Chaudron
echaudro at redhat.com
Wed May 8 08:12:41 UTC 2019
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 <david.marchand at redhat.com>
> ---
> 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
More information about the dev
mailing list