Message ID | 20200312093953.56756-1-Yanqin.Wei@arm.com |
---|---|
Headers | show
Return-Path: <ovs-dev-bounces@openvswitch.org> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=<UNKNOWN>) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48dP2C5xH1z9sNg for <incoming@patchwork.ozlabs.org>; Thu, 12 Mar 2020 20:40:19 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id D8AA289359; Thu, 12 Mar 2020 09:40:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bwpp7wXqDJkD; Thu, 12 Mar 2020 09:40:16 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by hemlock.osuosl.org (Postfix) with ESMTP id 3444289342; Thu, 12 Mar 2020 09:40:16 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 2697AC18D3; Thu, 12 Mar 2020 09:40:16 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 46219C0177 for <dev@openvswitch.org>; Thu, 12 Mar 2020 09:40:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 2FB2C89356 for <dev@openvswitch.org>; Thu, 12 Mar 2020 09:40:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MfFBgB3Wic01 for <dev@openvswitch.org>; Thu, 12 Mar 2020 09:40:14 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by hemlock.osuosl.org (Postfix) with ESMTP id 49E7189342 for <dev@openvswitch.org>; Thu, 12 Mar 2020 09:40:14 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A53561FB; Thu, 12 Mar 2020 02:40:13 -0700 (PDT) Received: from net-arm-thunderx2-03.shanghai.arm.com (net-arm-thunderx2-03.shanghai.arm.com [10.169.41.185]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9F9793F67D; Thu, 12 Mar 2020 02:40:11 -0700 (PDT) From: Yanqin Wei <Yanqin.Wei@arm.com> To: dev@openvswitch.org Date: Thu, 12 Mar 2020 17:39:50 +0800 Message-Id: <20200312093953.56756-1-Yanqin.Wei@arm.com> X-Mailer: git-send-email 2.17.1 Cc: nd@arm.com, Gavin.Hu@arm.com Subject: [ovs-dev] [PATCH v1 0/3] improve mark2flow lookup for partial offloading datapath X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: <ovs-dev.openvswitch.org> List-Unsubscribe: <https://mail.openvswitch.org/mailman/options/ovs-dev>, <mailto:ovs-dev-request@openvswitch.org?subject=unsubscribe> List-Archive: <http://mail.openvswitch.org/pipermail/ovs-dev/> List-Post: <mailto:ovs-dev@openvswitch.org> List-Help: <mailto:ovs-dev-request@openvswitch.org?subject=help> List-Subscribe: <https://mail.openvswitch.org/mailman/listinfo/ovs-dev>, <mailto:ovs-dev-request@openvswitch.org?subject=subscribe> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" <ovs-dev-bounces@openvswitch.org> |
Series |
improve mark2flow lookup for partial offloading datapath
|
expand
|
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