mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
dpif-netdev: Skip EMC lookup when EMC is disabled.
Conditional EMC insert patch gives the flexibility to configure the probability of flow insertion in to EMC. This also allows an option to entirely disable EMC by setting 'emc-insert-inv-prob=0' which can be useful at large number of parallel flows. This patch skips EMC lookup when EMC is disabled. This is useful to avoid wasting CPU cycles and also improve performance considerably. Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy@intel.com> CC: Ciara Loftus <ciara.loftus@intel.com> CC: Georg Schmuecking <georg.schmuecking@ericsson.com> Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Kevin Traynor <ktraynor@redhat.com> Acked-by: Darrell Ball dlu998@gmail.com
This commit is contained in:
committed by
Ben Pfaff
parent
49f173446b
commit
f79b1ddb84
@@ -4500,8 +4500,11 @@ emc_processing(struct dp_netdev_pmd_thread *pmd,
|
||||
size_t n_missed = 0, n_dropped = 0;
|
||||
struct dp_packet *packet;
|
||||
const size_t size = dp_packet_batch_size(packets_);
|
||||
uint32_t cur_min;
|
||||
int i;
|
||||
|
||||
atomic_read_relaxed(&pmd->dp->emc_insert_min, &cur_min);
|
||||
|
||||
DP_PACKET_BATCH_REFILL_FOR_EACH (i, size, packet, packets_) {
|
||||
struct dp_netdev_flow *flow;
|
||||
|
||||
@@ -4525,7 +4528,8 @@ emc_processing(struct dp_netdev_pmd_thread *pmd,
|
||||
key->len = 0; /* Not computed yet. */
|
||||
key->hash = dpif_netdev_packet_get_rss_hash(packet, &key->mf);
|
||||
|
||||
flow = emc_lookup(flow_cache, key);
|
||||
/* If EMC is disabled skip emc_lookup */
|
||||
flow = (cur_min == 0) ? NULL: emc_lookup(flow_cache, key);
|
||||
if (OVS_LIKELY(flow)) {
|
||||
dp_netdev_queue_batches(packet, flow, &key->mf, batches,
|
||||
n_batches);
|
||||
|
Reference in New Issue
Block a user