From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id BC9781B1B9 for ; Wed, 24 Jan 2018 16:40:45 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 6E0F4226D8; Wed, 24 Jan 2018 10:40:45 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 24 Jan 2018 10:40:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux.org; h=cc:date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=A3NqLOr5EosrJFvoJ CiiN5jOgAf+D64SYn6Ibe/OQCI=; b=Ncdb7o5F7lv0WNqRfB9PQFgddXidqfIel 9d5t3F9CoOuXxJS2ELsaLRoi46IXPfigoFzY+Nb1ycT1ACREdb5gBPv/6C+QPqm2 Z+FZElypi4TuGWIOEe7k8b+m0EIumeGZJka0hYqnD+eWL8OCpQCZ2VIlJRm295+g cn94brvqok8cJfmVg5edXs5mh+QrGY68a+k3dUi+5+m5VSV2xe9QZBFsbClJSiA/ skmVhchDz6GRjhLs4r0gr7ysQiQ5+HvzjCsK+O3Z97rzoePHFToO3D1hP3hebiRF lqkqUC66nFX6abZ/T/tnLAq/vc2Anb2mUPirLGKCs/yAJ7P578Cgw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=A3NqLOr5EosrJFvoJCiiN5jOgAf+D64SYn6Ibe/OQCI=; b=XDdeyQFX qVyWxSHhFfFkFjnP3eCuGCrkz7H1R37pZ7KUyh+hdhdSaPAKMQUQafs0T9TjCm9v 47dkJe8OXFjwjqVmC1+zSq7xVXsCzA2z/Z4dHJOmcCQPioHGHZ/UPCRZabyKZZbc O/jPG1lsMI+STQkHh0DQkfiG/wvO+nKwjY9aEKs3iUtH3elo0bzDTQ7PcuZhVEZV uhGJeQgp4qSzyeqDirkvjlXCYu6Xlp+odoRduxdexvARxN4j+vWcqxjKgr2RXGeh AbMwb6QXzjJOWOdgJ74dVpOVkInyKBCnQeDfwH0W0XPhf0gQVrG6F4t7LI9iSbAA ezYoPRrEa/Nyxw== X-ME-Sender: Received: from localhost.localdomain (unknown [115.150.27.206]) by mail.messagingengine.com (Postfix) with ESMTPA id 9F0847E1BE; Wed, 24 Jan 2018 10:40:43 -0500 (EST) From: Yuanhan Liu To: Yongseok Koh Cc: Xueming Li , dpdk stable Date: Wed, 24 Jan 2018 23:32:57 +0800 Message-Id: <1516808026-25523-109-git-send-email-yliu@fridaylinux.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516808026-25523-1-git-send-email-yliu@fridaylinux.org> References: <1516808026-25523-1-git-send-email-yliu@fridaylinux.org> Subject: [dpdk-stable] patch 'net/mlx5: fix calculation of flow ID flag' has been queued to LTS release 17.11.1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jan 2018 15:40:46 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 01/26/18. So please shout if anyone has objections. Thanks. --yliu --- >>From 24d622b663c60c178c6559204cbf89e082d41399 Mon Sep 17 00:00:00 2001 From: Yongseok Koh Date: Wed, 10 Jan 2018 23:57:53 -0800 Subject: [PATCH] net/mlx5: fix calculation of flow ID flag [ upstream commit 6a59d647196271832ad15ed0c33cab060aa50c4a ] PKT_RX_FDIR_ID should be set only if flow_tag is neither non-zero nor MLX5_FLOW_MARK_DEFAULT. Fixes: 6cb559d67b83 ("net/mlx5: add vectorized Rx/Tx burst for x86") Fixes: 570acdb1da8a ("net/mlx5: add vectorized Rx/Tx burst for ARM") Reported-by: Xueming Li Signed-off-by: Yongseok Koh Acked-by: Xueming Li --- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 10 +++++++--- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h index ce5ad0e..06f83ef 100644 --- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h +++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h @@ -575,11 +575,15 @@ rxq_cq_to_ptype_oflags_v(struct mlx5_rxq_data *rxq, if (rxq->mark) { const uint32x4_t ft_def = vdupq_n_u32(MLX5_FLOW_MARK_DEFAULT); const uint32x4_t fdir_flags = vdupq_n_u32(PKT_RX_FDIR); - const uint32x4_t fdir_id_flags = vdupq_n_u32(PKT_RX_FDIR_ID); + uint32x4_t fdir_id_flags = vdupq_n_u32(PKT_RX_FDIR_ID); + uint32x4_t invalid_mask; /* Check if flow tag is non-zero then set PKT_RX_FDIR. */ - ol_flags = vorrq_u32(ol_flags, vbicq_u32(fdir_flags, - vceqzq_u32(flow_tag))); + invalid_mask = vceqzq_u32(flow_tag); + ol_flags = vorrq_u32(ol_flags, + vbicq_u32(fdir_flags, invalid_mask)); + /* Mask out invalid entries. */ + fdir_id_flags = vbicq_u32(fdir_id_flags, invalid_mask); /* Check if flow tag MLX5_FLOW_MARK_DEFAULT. */ ol_flags = vorrq_u32(ol_flags, vbicq_u32(fdir_id_flags, diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h index 3e5de62..7ef2c59 100644 --- a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h +++ b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h @@ -576,7 +576,7 @@ rxq_cq_to_ptype_oflags_v(struct mlx5_rxq_data *rxq, __m128i cqes[4], _mm_set_epi32(0xffffff00, 0xffffff00, 0xffffff00, 0xffffff00); const __m128i fdir_flags = _mm_set1_epi32(PKT_RX_FDIR); - const __m128i fdir_id_flags = _mm_set1_epi32(PKT_RX_FDIR_ID); + __m128i fdir_id_flags = _mm_set1_epi32(PKT_RX_FDIR_ID); __m128i flow_tag, invalid_mask; flow_tag = _mm_and_si128(pinfo, pinfo_ft_mask); @@ -586,7 +586,7 @@ rxq_cq_to_ptype_oflags_v(struct mlx5_rxq_data *rxq, __m128i cqes[4], _mm_andnot_si128(invalid_mask, fdir_flags)); /* Mask out invalid entries. */ - flow_tag = _mm_andnot_si128(invalid_mask, flow_tag); + fdir_id_flags = _mm_andnot_si128(invalid_mask, fdir_id_flags); /* Check if flow tag MLX5_FLOW_MARK_DEFAULT. */ ol_flags = _mm_or_si128(ol_flags, _mm_andnot_si128( -- 2.7.4