From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id B670C5694 for ; Wed, 13 May 2015 15:52:35 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP; 13 May 2015 06:52:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,421,1427785200"; d="scan'208";a="694298234" Received: from irsmsx106.ger.corp.intel.com ([163.33.3.31]) by orsmga001.jf.intel.com with ESMTP; 13 May 2015 06:52:34 -0700 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.59]) by IRSMSX106.ger.corp.intel.com ([169.254.8.189]) with mapi id 14.03.0224.002; Wed, 13 May 2015 14:52:33 +0100 From: "De Lara Guarch, Pablo" To: Neil Horman Thread-Topic: [dpdk-dev] [PATCH v4 0/6] update jhash function Thread-Index: AQHQjKNGHScJqMC5nEuc4wPQCho5+J14Z+6AgAE1n7A= Date: Wed, 13 May 2015 13:52:33 +0000 Message-ID: References: <1430837034-21031-1-git-send-email-pablo.de.lara.guarch@intel.com> <1431428560-25426-1-git-send-email-pablo.de.lara.guarch@intel.com> <20150512153325.GB18246@hmsreliant.think-freely.org> In-Reply-To: <20150512153325.GB18246@hmsreliant.think-freely.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v4 0/6] update jhash function 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: Wed, 13 May 2015 13:52:36 -0000 Hi Neil, > -----Original Message----- > From: Neil Horman [mailto:nhorman@tuxdriver.com] > Sent: Tuesday, May 12, 2015 4:33 PM > To: De Lara Guarch, Pablo > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v4 0/6] update jhash function >=20 > On Tue, May 12, 2015 at 12:02:32PM +0100, Pablo de Lara wrote: > > Jenkins hash function was developed originally in 1996, > > and was integrated in first versions of DPDK. > > The function has been improved in 2006, > > achieving up to 60% better performance, compared to the original one. > > > > This patchset updates the current jhash in DPDK, > > including two new functions that generate two hashes from a single key. > > > > It also separates the existing hash function performance tests to > > another file, to make it quicker to run. > > > > changes in v4: > > - Simplify key alignment checks > > - Include missing x86 arch check > > > > changes in v3: > > > > - Update rte_jhash_1word, rte_jhash_2words and rte_jhash_3words > > functions > > > > changes in v2: > > > > - Split single commit in three commits, one that updates the existing > functions > > and another that adds two new functions and use one of those function= s > > as a base to be called by the other ones. > > - Remove some unnecessary ifdefs in the code. > > - Add new macros to help on the reutilization of constants > > - Separate hash function performance tests to another file > > and improve cycle measurements. > > - Rename existing function rte_jhash2 to rte_jhash_32b > > (something more meaninful) and mark rte_jhash2 as > > deprecated > > > > Pablo de Lara (6): > > test/hash: move hash function perf tests to separate file > > test/hash: improve accuracy on cycle measurements > > hash: update jhash function with the latest available > > hash: add two new functions to jhash library > > hash: remove duplicated code > > hash: rename rte_jhash2 to rte_jhash_32b > > > > app/test/Makefile | 1 + > > app/test/test_func_reentrancy.c | 2 +- > > app/test/test_hash.c | 4 +- > > app/test/test_hash_func_perf.c | 145 +++++++++++++++++ > > app/test/test_hash_perf.c | 71 +-------- > > lib/librte_hash/rte_jhash.h | 338 +++++++++++++++++++++++++++++- > --------- > > 6 files changed, 402 insertions(+), 159 deletions(-) > > create mode 100644 app/test/test_hash_func_perf.c > > > > -- > > 1.7.4.1 > > > > > did you run this through the ABI checker? I see you're removing several > symbols > that will likely need to go through the ABI deprecation process. >=20 > Neil I had not run it, but I just did. I see no problems on librte_hash (but I see some on rte_ethdev.h, due to another commit). Anyway, I renamed two functions to be more meaningful, but those functions = are "static inline",=20 so I am not sure exactly what the deprecation process is for those. What I did was leaving the original function that calls the same function a= s the new renamed one, but adds a line warning that the functions is deprecated. Is that OK or should I do it differently? Thanks! Pablo