On 14/05/2019 17:33, 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.
32 packets is the burst size for each poll to each rxq, but there may be multiple rxqs to be polled in that loop, so it could be 32 * num of rxqs polled by this pmd * 1024 > 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 77e3f0c..933d91b 100644 > --- a/lib/dpif-netdev.c > +++ b/lib/dpif-netdev.c > @@ -5486,7 +5486,6 @@ reload: > poll_block(); > } > } > - lc = UINT_MAX; > } > > pmd->intrvl_tsc_prev = 0; > @@ -5530,12 +5529,13 @@ reload: > if (!ovsrcu_try_quiesce()) { > emc_cache_slow_sweep(&((pmd->flow_cache).emc_cache)); > } > + } > > - atomic_read_explicit(&pmd->reload, &reload, > memory_order_acquire); > - if (reload) { > - break; > - } > + atomic_read_explicit(&pmd->reload, &reload, memory_order_acquire); > + if (OVS_UNLIKELY(reload)) { > + break; > } > + > pmd_perf_end_iteration(s, rx_packets, tx_packets, > pmd_perf_metrics_enabled(pmd)); > } > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
