From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by dpdk.org (Postfix) with ESMTP id EC9D25913 for ; Wed, 3 Sep 2014 03:24:49 +0200 (CEST) Received: by mail-wi0-f182.google.com with SMTP id z2so8896534wiv.9 for ; Tue, 02 Sep 2014 18:29:24 -0700 (PDT) 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=GTgApsagO245wBBfa/I4kUB/KfrXSaeKpSA6rycnEiQ=; b=KdrONavUUvOvQ8zOPI1e6Rjb1q5YCM+7marr12xWVQQn05ZBTvTvz6D/9tc+Tc4+jJ /k9pzD69DVZjaNV2tLeilyoNVF+fdyBhgbHRoTdKw5CJi1DF779ZhkJFGiv1d3rDgEFQ 8ZZxkvfBNjHzMeUflwBA4bzbEyMul7r2S6aeasUdQhAOIUU9/26EbcqKPjz3wW1KuOki nDcfOrNsB1xWqTDn1dW3cAZUl+Fu3SLgA4gOO2R12QanFsjLehoPOu+9cra+2AHMj/3C D2Sk6+fnDtJX7QPeRGu8BHExJOsGlgaJ3Ocjcb6yGWuuC+V5m8tQ4iNPM80E7QqVS4y8 ZZpw== X-Gm-Message-State: ALoCoQm/LSg4wbvmmcx7WaTSsO3BYvjCReZHSCyHa7rca2zaF9Q+mZwTFeFcmv4F3HE4XXaGjG/w X-Received: by 10.194.89.200 with SMTP id bq8mr43004244wjb.52.1409707764241; Tue, 02 Sep 2014 18:29:24 -0700 (PDT) Received: from xps13.localnet (136-92-190-109.dsl.ovh.fr. [109.190.92.136]) by mx.google.com with ESMTPSA id mc20sm1177446wic.2.2014.09.02.18.29.23 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Sep 2014 18:29:23 -0700 (PDT) From: Thomas Monjalon To: Neil Horman , Konstantin Ananyev Date: Wed, 03 Sep 2014 03:29:16 +0200 Message-ID: <6557336.pkq0I4uP60@xps13> Organization: 6WIND User-Agent: KMail/4.13.3 (Linux/3.15.8-1-ARCH; KDE/4.13.3; x86_64; ; ) In-Reply-To: <20140902134300.GC29416@hmsreliant.think-freely.org> References: <1409585324-6829-1-git-send-email-konstantin.ananyev@intel.com> <20140902134300.GC29416@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] [PATCHv5] librte_acl make it build/work for 'default' target 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, 03 Sep 2014 01:24:50 -0000 > > Make ACL library to build/work on 'default' architecture: > > - make rte_acl_classify_scalar really scalar > > (make sure it wouldn't use sse4 instrincts through resolve_priority()). > > - Provide two versions of rte_acl_classify code path: > > rte_acl_classify_sse() - could be build and used only on systems with sse4.2 > > and upper, return -ENOTSUP on lower arch. > > rte_acl_classify_scalar() - a slower version, but could be build and used > > on all systems. > > - keep common code shared between these two codepaths. > > > > v2 chages: > > run-time selection of most appropriate code-path for given ISA. > > By default the highest supprted one is selected. > > User can still override that selection by manually assigning new value to > > the global function pointer rte_acl_default_classify. > > rte_acl_classify() becomes a macro calling whatever rte_acl_default_classify > > points to. > > > > V3 Changes > > Updated classify pointer to be a function so as to better preserve ABI > > REmoved macro definitions for match check functions to make them static inline > > > > V4 Changes > > Rewrote classification selection mechanim to use a function table, so that we > > can just store the preferred alg in the rte_acl_ctx struct so that multiprocess > > access works. I understand that leaves us with an extra load instruction, but I > > think thats ok, because it also allows... > > > > Addition of a new function rte_acl_classify_alg. This function lets you > > specify an enum value to override the acl contexts default algorith when doing a > > classification. This allows an application to specify a classification > > algorithm without needing to pulicize each method. I know there was concern > > over keeping those methods public, but we don't have a static ABI at the moment, > > so this seems to me a reasonable thing to do, as it gives us less of an ABI > > surface to worry about. > > > > Fixed misc missed static declarations > > Removed acl_match_check.h and moved match_check function to acl_run.h > > typdeffed function pointer to match check. > > > > V5 Changes > > Updated examples/l3fwd-acl to comply with latest changes. > > Applied other code review comments (mostly style changes). > > > > Signed-off-by: Konstantin Ananyev > Acked-by: Neil Horman > Thanks Konstantin! Applied for version 1.7.1. Thanks a lot -- Thomas