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

Yanqin Wei Yanqin.Wei at arm.com
Thu Mar 12 09:39:50 UTC 2020


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

-- 
2.17.1



More information about the dev mailing list