From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] net/mlx5: add vectorized Rx Date: Tue, 30 May 2017 12:45:49 +0200 Message-ID: <2868391.oB23BVWmct@xps> References: <20170528154035.32198-1-yskoh@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, ferruh.yigit@intel.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com To: Yongseok Koh Return-path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id C781D2BA3 for ; Tue, 30 May 2017 12:45:52 +0200 (CEST) In-Reply-To: <20170528154035.32198-1-yskoh@mellanox.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 28/05/2017 17:40, Yongseok Koh: > Vectorized Rx API for x86 is added. > > Signed-off-by: Yongseok Koh > --- > drivers/net/mlx5/Makefile | 1 + > drivers/net/mlx5/mlx5_defs.h | 6 + > drivers/net/mlx5/mlx5_ethdev.c | 8 + > drivers/net/mlx5/mlx5_rxq.c | 39 +++- > drivers/net/mlx5/mlx5_rxtx.c | 485 +++++++++++++++++++++++++++++++++++++++++ > drivers/net/mlx5/mlx5_rxtx.h | 10 + > 6 files changed, 548 insertions(+), 1 deletion(-) It would be probably clearer to have a specific file for Rx/Tx on SSE. So it would be compiled only for x86. > --- a/drivers/net/mlx5/Makefile > +++ b/drivers/net/mlx5/Makefile > @@ -60,6 +60,7 @@ CFLAGS += -D_DEFAULT_SOURCE > CFLAGS += -D_XOPEN_SOURCE=600 > CFLAGS += $(WERROR_FLAGS) > CFLAGS += -Wno-strict-prototypes > +CFLAGS += -msse4.1 > LDLIBS += -libverbs [...] > --- a/drivers/net/mlx5/mlx5_ethdev.c > +++ b/drivers/net/mlx5/mlx5_ethdev.c > @@ -723,7 +723,11 @@ mlx5_dev_supported_ptypes_get(struct rte_eth_dev *dev) > > }; > > +#ifdef MLX5_VECTORIZED_RX > + if (dev->rx_pkt_burst == mlx5_rx_burst_vec) > +#else > if (dev->rx_pkt_burst == mlx5_rx_burst) > +#endif > return ptypes; > return NULL; > } Can we avoid an #ifdef here? We should check SSE support at runtime with rte_cpu_get_flag_enabled().