mbox series

[ovs-dev,v1,0/3] improve mark2flow lookup for partial offloading datapath

Message ID 20200312093953.56756-1-Yanqin.Wei@arm.com
Headers show
Series improve mark2flow lookup for partial offloading datapath | expand


Yanqin Wei March 12, 2020, 9:39 a.m. UTC
In the partial flow offloading datapath, mark2flow table lookup is a hot
spot. "cmap_find" takes more than 20% CPU cycles in datapath. Hash map is
too heavy for this case and a lighter data struct can be used for faster
lookup. This patch applies a direct address table for mark2flow lookup. The
throughput uplift is more than 10% in case of single flow and 20% with
>1000 mega flow.

Yanqin Wei (3):
  lib: implement scalable direct address table for fast lookup
  dpif-netdev: improve partial offloding datapath by sda-table lookup
  tests/test-sda-table: add check test for sda-table.

 lib/automake.mk        |   2 +
 lib/dpif-netdev.c      |  30 ++++---
 lib/sda-table.c        | 166 ++++++++++++++++++++++++++++++++++
 lib/sda-table.h        | 126 ++++++++++++++++++++++++++
 tests/automake.mk      |   3 +-
 tests/test-sda-table.c | 197 +++++++++++++++++++++++++++++++++++++++++
 6 files changed, 510 insertions(+), 14 deletions(-)
 create mode 100644 lib/sda-table.c
 create mode 100644 lib/sda-table.h
 create mode 100644 tests/test-sda-table.c