Message ID | 20190901065810.15137-1-dharmik.thakkar@arm.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C31A81D42A; Sun, 1 Sep 2019 08:58:35 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 3F4461D17E for <dev@dpdk.org>; Sun, 1 Sep 2019 08:58:30 +0200 (CEST) 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 66F08344; Sat, 31 Aug 2019 23:58:29 -0700 (PDT) Received: from dp6132.austin.arm.com (dp6132.austin.arm.com [10.118.12.38]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2159F3F59C; Sun, 1 Sep 2019 00:00:52 -0700 (PDT) From: Dharmik Thakkar <dharmik.thakkar@arm.com> To: Cc: dev@dpdk.org, honnappa.nagarahalli@arm.com, ruifeng.wang@arm.com, Dharmik Thakkar <dharmik.thakkar@arm.com> Date: Sun, 1 Sep 2019 06:58:07 +0000 Message-Id: <20190901065810.15137-1-dharmik.thakkar@arm.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [RFC 0/3] RCU integration with hash library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
RCU integration with hash library
|
|
Message
Dharmik Thakkar
Sept. 1, 2019, 6:58 a.m. UTC
This patchset integrates RCU QSBR support with hash library. Note: This patchset has dependency on another patchset: https://patchwork.dpdk.org/cover/57813/ Refer to RCU documentation to understand various aspects of integrating RCU library into other libraries. Introduce a new API rte_hash_rcu_qsbr_add for application to register a RCU variable that hash library will use. Add functional and performance test cases. Fix 'ixgbe_ethdev.h' to avoid multiple definitions of 'bool'. (Please note that this fix is temporary. Recommend suggesting better solution) Dharmik Thakkar (3): net/ixgbe: avoid multpile definitions of 'bool' lib/hash: integrate RCU QSBR test/hash: add tests for integrated RCU QSBR app/test/test_hash_readwrite_lf.c | 700 ++++++++++++++++++++++++++- drivers/net/ixgbe/ixgbe_ethdev.h | 1 + lib/librte_hash/Makefile | 2 +- lib/librte_hash/meson.build | 2 + lib/librte_hash/rte_cuckoo_hash.c | 354 +++++++++++++- lib/librte_hash/rte_cuckoo_hash.h | 3 + lib/librte_hash/rte_hash.h | 38 +- lib/librte_hash/rte_hash_version.map | 2 +- 8 files changed, 1065 insertions(+), 37 deletions(-)
Comments
>-----Original Message----- >From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Dharmik Thakkar >Sent: Saturday, August 31, 2019 11:58 PM >Cc: dev@dpdk.org; honnappa.nagarahalli@arm.com; ruifeng.wang@arm.com; Dharmik Thakkar <dharmik.thakkar@arm.com> >Subject: [dpdk-dev] [RFC 0/3] RCU integration with hash library > >This patchset integrates RCU QSBR support with hash library. > >Note: This patchset has dependency on another patchset: > https://patchwork.dpdk.org/cover/57813/ > >Refer to RCU documentation to understand various aspects of >integrating RCU library into other libraries. > >Introduce a new API rte_hash_rcu_qsbr_add for application to >register a RCU variable that hash library will use. > >Add functional and performance test cases. > >Fix 'ixgbe_ethdev.h' to avoid multiple definitions of 'bool'. >(Please note that this fix is temporary. Recommend suggesting better >solution) > >Dharmik Thakkar (3): > net/ixgbe: avoid multpile definitions of 'bool' > lib/hash: integrate RCU QSBR > test/hash: add tests for integrated RCU QSBR > > app/test/test_hash_readwrite_lf.c | 700 ++++++++++++++++++++++++++- > drivers/net/ixgbe/ixgbe_ethdev.h | 1 + > lib/librte_hash/Makefile | 2 +- > lib/librte_hash/meson.build | 2 + > lib/librte_hash/rte_cuckoo_hash.c | 354 +++++++++++++- > lib/librte_hash/rte_cuckoo_hash.h | 3 + > lib/librte_hash/rte_hash.h | 38 +- > lib/librte_hash/rte_hash_version.map | 2 +- > 8 files changed, 1065 insertions(+), 37 deletions(-) > >-- >2.17.1 [Wang, Yipeng] Hi Dharmik, thanks for the code! I agree with Stephen that many people may not use RCU, and when they use, they may want some control in the application level. I can see the benefit to have certain RCU helper functions inside the libraries when people indeed uses QSBR as you designed, but I am not sure if the benefits justify the effort to put it in many DPDK libraries. It adds new APIs, requires future maintenance, and so on, given the feature can be totally realized by the user application with small cost I assume. I believe your plan is to add similar helper functions to many other libraries. I think we could consider them as a single proposal, and it makes sense to bring it up to the technical committee for a broader discussion.