From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id CC3CF36E for ; Fri, 10 Mar 2017 17:54:11 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga104.jf.intel.com with ESMTP; 10 Mar 2017 08:54:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,141,1486454400"; d="scan'208";a="58679104" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.221.61]) by orsmga002.jf.intel.com with SMTP; 10 Mar 2017 08:54:07 -0800 Received: by (sSMTP sendmail emulation); Fri, 10 Mar 2017 16:54:06 +0000 Date: Fri, 10 Mar 2017 16:54:06 +0000 From: Bruce Richardson To: David Hunt Cc: dev@dpdk.org Message-ID: <20170310165405.GH339712@bricha3-MOBL3.ger.corp.intel.com> References: <1488354455-142764-2-git-send-email-david.hunt@intel.com> <1488791433-186137-1-git-send-email-david.hunt@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1488791433-186137-1-git-send-email-david.hunt@intel.com> Organization: Intel Research and =?iso-8859-1?Q?De=ACvel?= =?iso-8859-1?Q?opment?= Ireland Ltd. User-Agent: Mutt/1.8.0 (2017-02-23) Subject: Re: [dpdk-dev] [PATCH v9 00/18] distributor lib performance enhancements X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Mar 2017 16:54:12 -0000 On Mon, Mar 06, 2017 at 09:10:15AM +0000, David Hunt wrote: > This patch aims to improve the throughput of the distributor library. > > It uses a similar handshake mechanism to the previous version of > the library, in that bits are used to indicate when packets are ready > to be sent to a worker and ready to be returned from a worker. One main > difference is that instead of sending one packet in a cache line, it makes > use of the 7 free spaces in the same cache line in order to send up to > 8 packets at a time to/from a worker. > > The flow matching algorithm has had significant re-work, and now keeps an > array of inflight flows and an array of backlog flows, and matches incoming > flows to the inflight/backlog flows of all workers so that flow pinning to > workers can be maintained. > > The Flow Match algorithm has both scalar and a vector versions, and a > function pointer is used to select the post appropriate function at run time, > depending on the presence of the SSE2 cpu flag. On non-x86 platforms, the > the scalar match function is selected, which should still gives a good boost > in performance over the non-burst API. > > v9 changes: > * fixed symbol versioning so it will compile on CentOS and RedHat > I've flagged a number of things that could do with being cleaned up in the patchset. However, the idea itself of adding a new burst-mode to improve distributor performance - and using vector matching to further boost it - is a good improvement. Therefore Series-Acked-by: Bruce Richardson