From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id D05B137A0 for ; Fri, 30 Jun 2017 23:28:06 +0200 (CEST) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jun 2017 14:28:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.40,288,1496127600"; d="scan'208";a="280814356" Received: from unknown ([10.252.11.213]) by fmsmga004.fm.intel.com with SMTP; 30 Jun 2017 14:28:02 -0700 Received: by (sSMTP sendmail emulation); Fri, 30 Jun 2017 22:28:02 +0100 Date: Fri, 30 Jun 2017 22:28:02 +0100 From: Bruce Richardson To: Yongseok Koh Cc: ferruh.yigit@intel.com, dev@dpdk.org, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Message-ID: <20170630212802.GC19236@bricha3-MOBL3.ger.corp.intel.com> References: <20170628230403.10142-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: Intel Research and =?iso-8859-1?Q?De=ACvel?= =?iso-8859-1?Q?opment?= Ireland Ltd. User-Agent: Mutt/1.8.1 (2017-04-11) Subject: Re: [dpdk-dev] [PATCH v2 0/5] net/mlx5: add vectorized Rx/Tx burst for x86 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, 30 Jun 2017 21:28:07 -0000 On Fri, Jun 30, 2017 at 12:23:28PM -0700, Yongseok Koh wrote: > This is to introduce more efficient Rx/Tx burst functions using SIMD > instructions. Currently it is only supported by 64bit x86 having SSE4.1. > > From functional perspective, Rx burst function is equivalent to the > existing mlx5_rx_burst() except for scatter support, which will be added > soon. Tx burst function supports multi-segment packets and offload flags > unless it is disabled by txq_flags. However, disabling those features will > bring a little higher performance. > > v2: > * Streamline redundant conditional clauses in txq_complete(). > * Remove the mempool pointer in txq->mp2mr structure. > * Fix indentation and spacing. > > Yongseok Koh (5): > net/mlx5: change indexing for Tx SW ring > net/mlx5: free buffers in bulk on Tx completion > net/mlx5: use buffer address for LKEY search > net/mlx5: select Rx/Tx callbacks when starting device > net/mlx5: add vectorized Rx/Tx burst for SSE4.1 > > drivers/net/mlx5/Makefile | 10 + > drivers/net/mlx5/mlx5_defs.h | 18 + > drivers/net/mlx5/mlx5_ethdev.c | 28 +- > drivers/net/mlx5/mlx5_mr.c | 17 +- > drivers/net/mlx5/mlx5_rxq.c | 57 +- > drivers/net/mlx5/mlx5_rxtx.c | 425 +++------- > drivers/net/mlx5/mlx5_rxtx.h | 291 ++++++- > drivers/net/mlx5/mlx5_rxtx_vec_sse.c | 1451 ++++++++++++++++++++++++++++++++++ > drivers/net/mlx5/mlx5_trigger.c | 3 + > drivers/net/mlx5/mlx5_txq.c | 23 +- > 10 files changed, 1980 insertions(+), 343 deletions(-) > create mode 100644 drivers/net/mlx5/mlx5_rxtx_vec_sse.c > FYI: I've upstreamed a patchset to bump the minimum specs for DPDK on x86 to include SSE4.2, so that would lead to some simplification of your code, I expect. See this set: http://dpdk.org/dev/patchwork/patch/25444/ Regards, /Bruce