From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.elyzion.net (ks3307715.kimsufi.com [178.32.223.91]) by dpdk.org (Postfix) with ESMTP id A89956CBD for ; Fri, 16 Sep 2016 15:15:01 +0200 (CEST) Received: from [217.70.181.31] (freeside.gandi.net [217.70.181.31]) by mail.elyzion.net (Postfix) with ESMTPSA id 7A9F91CE11F1 for ; Fri, 16 Sep 2016 15:15:01 +0200 (CEST) To: dev@dpdk.org References: <1465433634-6667-1-git-send-email-nikita@elyzion.net> <20160824225908.16078-1-nikita@elyzion.net> From: Nikita Kozlov Message-ID: Date: Fri, 16 Sep 2016 15:15:01 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <20160824225908.16078-1-nikita@elyzion.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2 0/2] lpm6: speed improvement on delete rule X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2016 13:15:01 -0000 On 08/25/2016 00:59, Nikita Kozlov wrote: > This serie of pathes focus on improving the speed of deleting rules in lpm6. > > It also contains some other improvement like having a dynamic number of > rules in lpm6 and increasing the lpm6 nexthop size to 16bit for matching > the nexthop size in lpm4. > > The performances improvement can be seen by running test_lpm6_perf but > because of the limited number of rules added (1000) the improvement seen is > just about a x10 with this test. > > For testing it further we have tested it with a full ipv6 bgp view which > represent 29296 routes in our test: > * With the dpdk 16.04 it tooks an average of 8.46095e+09 cycles to delete a rule > (calculated with mesuring rte_rdtsc before and after the delete, the > average is calculated by the first 10 delete, it represents several > seconds on a E5-2650 v2) > * With the patch it tooks 10077.1 cycles (same number of deleted rules, > same machine, same rules inserted) for the same test. > > This patch was written in collaboration with Baptiste Daroussin from Gandi. > > Changes since V1: > - use system bsd-tree.h > - fix a bug when valid_group field was overwritten > > Nikita Kozlov (2): > lpm6: speed inmprovement on delete rule > test_lpm6: make test_lpm6* compatible with the new rte_lpm6.c lib > > app/test/test_lpm6.c | 244 +++++-------- > app/test/test_lpm6_perf.c | 6 +- > lib/librte_lpm/Makefile | 2 +- > lib/librte_lpm/rte_lpm6.c | 626 +++++++++++++++++++++++++--------- > lib/librte_lpm/rte_lpm6.h | 50 ++- > lib/librte_lpm/rte_lpm_version.map | 12 + > lib/librte_table/rte_table_lpm_ipv6.c | 7 +- > 7 files changed, 609 insertions(+), 338 deletions(-) > Hello, If someone have some time, I feel that this patch needs some polishing so any comments on the code are more than welcome, even if they are not directly related to the lpm part itself. thanks.