From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 2A859A054D;
	Fri, 23 Sep 2022 17:58:10 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 19775406A2;
	Fri, 23 Sep 2022 17:58:10 +0200 (CEST)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by mails.dpdk.org (Postfix) with ESMTP id 2BDF240156
 for <dev@dpdk.org>; Fri, 23 Sep 2022 17:58:08 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id 9EAD45C0153;
 Fri, 23 Sep 2022 11:58:07 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Fri, 23 Sep 2022 11:58:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 cc:cc:content-transfer-encoding:content-type:date:date:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:sender:subject:subject:to:to; s=fm2; t=1663948687; x=
 1664035087; bh=L6pFwqZ1pftWDaSgRldW9MI9voB55LZbBoK8mwbKisw=; b=K
 ebdUi6qT25UsiO1C5LBrEoXLXfv7tporNG2BYtPE2W+fEVU7k7rIJvJZyniX/GDb
 3FJMDYDorrUpeF/Gn1mwM+0Mcc7YMM7Qvm0BOp52SxRgi3ujVz0Xki0mH/LBVWtO
 0Rl04NNt8eX3knn9PDcNULxaVal7M13uIBIuSgPwtjwgAX9qAo7yjx1wc05SIsiB
 /2qa/tfIbD4CoiP3Zi7E8h9I77EEJiBcCnpYq+Cf+DxN7ZWp+GWeiTd+47pdBrnD
 eOyMWer6w0P4OyBEe70MckMI8sEiRmQFJ+sfv0UqIfCj7l5N3YFSuySaFd/54bCk
 UGIKbLTU3z1g8fOjiEwIQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:date:date:feedback-id:feedback-id:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1663948687; x=
 1664035087; bh=L6pFwqZ1pftWDaSgRldW9MI9voB55LZbBoK8mwbKisw=; b=t
 bZuXDh9bsszlwxKnR0MWvqVCm8MDV+rnvaI20WAxwzCAhpVOxwp3rK6Bjl/vaZLa
 nm8d0biYnaQPGdrVzqoSJhMUz0WXcHa4UNi90tsj1313VIU5yf78B7fW9I0tLyfb
 7I3ycqRPjHFqKdKW/dhXXTuvjcy55zytwt/xvjs0iPs0KkKJk3k56TLvrHvLQctK
 lQhkISNw1AFcXDJJCngLsxmBw4Gh7DuReiaRcm3KkHgOy/jGcFVNaP/IFE4hEVfz
 o0kyepIZE3zlnfAuuyA9Av9TJtw1rPHaVuRHhsysypDWslDks6WFFv5BoTJE5cY8
 5mWkH5/VALVvSzvDadYnA==
X-ME-Sender: <xms:j9ctY_2qkcx1qoXROzu9eirovFhVz2lBJ16QCTKNrhLFoHB8Zs2F3w>
 <xme:j9ctY-E310gHRerZJMr7-EiuNmJMJZh8UtT7imAgtLgfC_D3Y-6eI2Re-FNcRWo_r
 Wg74s78iuVCLFwxpg>
X-ME-Received: <xmr:j9ctY_5Io_gTpHrEJruHaYlyZrhFI0ig-F6fi6io6VG1Ji6EoJFhXAjuY-knzIDLMAA8mvi_K826Rlz2An7uSrsiQA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeefiedgleekucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhephffvvefufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhm
 rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc
 ggtffrrghtthgvrhhnpedtjeeiieefhedtfffgvdelteeufeefheeujefgueetfedttdei
 kefgkeduhedtgfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh
 hrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght
X-ME-Proxy: <xmx:j9ctY020JWRFpNChv9G0tDI0beN7AyHN_TIQvf22Srn2RJh_hrYb7g>
 <xmx:j9ctYyG3Sr1Mc3o3XiEcfnez6pMtfojxHRVBqERaKR5W0AK6TUfV3Q>
 <xmx:j9ctY187qqpphWchKqyHXGP_CpNUft6b3noRx6TtUnWRau0JQ8IuwA>
 <xmx:j9ctY9NHZe53CIzTaSWzGCNPmHHZZnY4z6HzBuxnH4XOuKVkw68myQ>
Feedback-ID: i47234305:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 23 Sep 2022 11:58:07 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH V2 0/6] pipeline: make the hash function configurable per
 table
Date: Fri, 23 Sep 2022 17:58:05 +0200
Message-ID: <1938403.8hb0ThOEGa@thomas>
In-Reply-To: <20220819195225.1483020-1-cristian.dumitrescu@intel.com>
References: <20220818114449.1408226-1-cristian.dumitrescu@intel.com>
 <20220819195225.1483020-1-cristian.dumitrescu@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
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

19/08/2022 21:52, Cristian Dumitrescu:
> The exact match and learner tables use a hash function for the lookup
> operation. This patch set makes the hash function configurable and
> removes some limitations.
> 
> The hash function previously used by these table types had the
> following limitations:
> a) Not configurable: An internally hardcoded version was used;
> b) Mask-based: This prevents using most of the available
>    hash functions, as they are not mask-based;
> c) Key size limited to 64 bytes or less.
> 
> The new hash function is:
> a) Configurable;
> b) Not mask-based;
> c) Not limited to key sizes to less than or equal to 64 bytes.
> 
> Also, since this flexibility has some performance cost, this patch set
> also introduces key comparison functions specialized for each key size
> value. Since the key size is fixed for each table, the key comparison
> function can be selected at initialization as opposed to using a
> generic function that can handle any key size. This strategy result in
> a performance improvement for the table lookup operation of around 5%.
> 
> Depends-on: series-24117 ("pipeline: pipeline configuration and build improvements")
> 
> Change log:
> 
> V2:
> -Added check for table match fields to be contiguous for exact match tables.
> -Fixed bug in the specification file parsing related to hash function configuration.
> 
> Cristian Dumitrescu (6):
>   table: add hash function prototype
>   table: add key comparison functions
>   table: configure the hash function for regular tables
>   pipeline: configure the hash function for regular tables
>   table: configure the hash function for learner tables
>   pipeline: configure the hash function for learner tables

Applied, thanks.