From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f46.google.com (mail-wg0-f46.google.com [74.125.82.46]) by dpdk.org (Postfix) with ESMTP id 77BAE1F5 for ; Wed, 28 Jan 2015 17:15:01 +0100 (CET) Received: by mail-wg0-f46.google.com with SMTP id l2so21534392wgh.5 for ; Wed, 28 Jan 2015 08:15:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:organization :user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=BB27n3hgDJyfXiSt5J1LTNMj5TLFq1Wzxnc6Q666eeo=; b=Yygg+Bo3oeX/IphyO4nvPHVK0yABh94eUK/HKf7//Wqur28ga0gVla1go0y7hGTfCZ IMoh5G0xOAhexMiHmIuxFu+1PL8vQ+OmBYk6YKFQ4uF6YTZMFuXJnWcxVvK2vtfjz6A8 rR0/RQ6UCk7f46/c/ouDbBPl+1SELB8MEt+FptTO9hj4pp0VBo2v5N77ekb91BE/dej/ rc4uxJNidVsEenOdhASQgkBYIdcD5klqdRj13nKuGD7MwRSi2FZEQ3jw5Xr2KkIrWATi 105OcktvJqv5LPqLIuF+ZPAZG7iD/H4cYwUuOty+H8ZJuBRWkNSkyCHAyhTwDfj0kGH2 yU5A== X-Gm-Message-State: ALoCoQktWbwxfVvHDHfJMa60qRLvVGZFbwo8tY9q9SWb+5f1r42XHHf1A7NYXXH7mxJTD4/arHAi X-Received: by 10.194.6.228 with SMTP id e4mr9081533wja.63.1422461701303; Wed, 28 Jan 2015 08:15:01 -0800 (PST) Received: from xps13.localnet (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by mx.google.com with ESMTPSA id i13sm6725100wjr.7.2015.01.28.08.14.59 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Jan 2015 08:15:00 -0800 (PST) From: Thomas Monjalon To: Konstantin Ananyev Date: Wed, 28 Jan 2015 17:14:33 +0100 Message-ID: <9824199.za8iqtyYdc@xps13> Organization: 6WIND User-Agent: KMail/4.14.3 (Linux/3.18.2-2-ARCH; KDE/4.14.3; x86_64; ; ) In-Reply-To: <20150127140312.GA20118@hmsreliant.think-freely.org> References: <1421779267-18492-1-git-send-email-konstantin.ananyev@intel.com> <20150127140312.GA20118@hmsreliant.think-freely.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v3 00/18] ACL: New AVX2 classify method and several other enhancements. 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, 28 Jan 2015 16:15:01 -0000 > > v3 changes: > > Applied review comments from Thomas: > > - fix spelling errors reported by codespell. > > - split last patch into two: > > first to remove unused macros, > > second to add some comments about ACL internal layout. > > > > v2 changes: > > - When build with the compilers that don't support AVX2 instructions, > > make rte_acl_classify_avx2() do nothing and return an error. > > - Remove unneeded 'ifdef __AVX2__' in acl_run_avx2.*. > > - Reorder order of patches in the set, to keep RTE_LIBRTE_ACL_STANDALONE=y > > always buildable. > > > > This patch series contain several fixes and enhancements for ACL library. > > See complete list below. > > Two main changes that are externally visible: > > - Introduce new classify method: RTE_ACL_CLASSIFY_AVX2. > > It uses AVX2 instructions and 256 bit wide data types > > to perform internal trie traversal. > > That helps to increase classify() throughput. > > This method is selected as default one on CPUs that supports AVX2. > > - Introduce new field in the build config structure: max_size. > > It specifies maximum size that internal RT structure for given context > > can reach. > > The purpose of that is to allow user to decide about space/performance trade-off > > (faster classify() vs less space for RT internal structures) > > for each given set of rules. > > > > Konstantin Ananyev (18): > > fix fix compilation issues with RTE_LIBRTE_ACL_STANDALONE=y > > app/test: few small fixes fot test_acl.c > > librte_acl: make data_indexes long enough to survive idle transitions. > > librte_acl: remove build phase heuristsic with negative performance > > effect. > > librte_acl: fix a bug at build phase that can cause matches beeing > > overwirtten. > > librte_acl: introduce DFA nodes compression (group64) for identical > > entries. > > librte_acl: build/gen phase - simplify the way match nodes are > > allocated. > > librte_acl: make scalar RT code to be more similar to vector one. > > librte_acl: a bit of RT code deduplication. > > EAL: introduce rte_ymm and relatives in rte_common_vect.h. > > librte_acl: add AVX2 as new rte_acl_classify() method > > test-acl: add ability to manually select RT method. > > librte_acl: Remove search_sse_2 and relatives. > > libter_acl: move lo/hi dwords shuffle out from calc_addr > > libte_acl: make calc_addr a define to deduplicate the code. > > libte_acl: introduce max_size into rte_acl_config. > > libte_acl: remove unused macros. > > libte_acl: add some comments about ACL internal layout. > > > For the series > Acked-by: Neil Horman Applied Thanks for the big work -- Thomas