Thanks for the fix: Acked-by: Jan Scheurich <jan.scheur...@ericsson.com>
> -----Original Message----- > From: ovs-dev-boun...@openvswitch.org > [mailto:ovs-dev-boun...@openvswitch.org] On Behalf Of Ciara Loftus > Sent: Wednesday, 17 May, 2017 10:29 > To: d...@openvswitch.org > Subject: [ovs-dev] [PATCH] dpif-netdev: Fix insertion probability > > emc_conditional_insert uses pmd->last_cycles and the packet's RSS hash > to generate a random number used to determine whether or not an emc > entry should be inserted. This works for single-packet bursts as > last_cycles is updated for each burst. However, for bursts > 1 packet, > where the packets in the batch generate the same RSS hash, > pmd->last_cycles remains constant for the entire burst also, and thus > cannot be used as a random number for each packet in the burst. > > This commit replaces the use of pmd->last_cycles with random_uint32() > for this purpose and subsequently fixes the behavior of the > emc_insert_inv_prob setting for high-throughput (large bursts) > single-flow cases. > > Fixes: 4c30b24602c3 ("dpif-netdev: Conditional EMC insert") > Reported-by: Kevin Traynor <ktray...@redhat.com> > Signed-off-by: Ciara Loftus <ciara.lof...@intel.com> > --- > lib/dpif-netdev.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c > index d215156..ab1e26e 100644 > --- a/lib/dpif-netdev.c > +++ b/lib/dpif-netdev.c > @@ -2037,11 +2037,7 @@ emc_probabilistic_insert(struct dp_netdev_pmd_thread > *pmd, > uint32_t min; > atomic_read_relaxed(&pmd->dp->emc_insert_min, &min); > > -#ifdef DPDK_NETDEV > - if (min && (key->hash ^ (uint32_t) pmd->last_cycles) <= min) { > -#else > if (min && (key->hash ^ random_uint32()) <= min) { > -#endif > emc_insert(&pmd->flow_cache, key, flow); > } > } > -- > 2.4.11 > > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev