From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id B78EAA053A;
	Thu, 23 Jan 2020 15:26:06 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 6E674397D;
	Thu, 23 Jan 2020 15:26:05 +0100 (CET)
Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])
 by dpdk.org (Postfix) with ESMTP id D203C3977
 for <dev@dpdk.org>; Thu, 23 Jan 2020 15:26:03 +0100 (CET)
Received: from Internal Mail-Server by MTLPINE2 (envelope-from
 akozyrev@mellanox.com)
 with ESMTPS (AES256-SHA encrypted); 23 Jan 2020 16:26:02 +0200
Received: from pegasus02.mtr.labs.mlnx. (pegasus02.mtr.labs.mlnx
 [10.210.16.122])
 by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 00NEQ1X3024012;
 Thu, 23 Jan 2020 16:26:01 +0200
From: Alexander Kozyrev <akozyrev@mellanox.com>
To: dev@dpdk.org
Cc: rasland@mellanox.com, matan@mellanox.com, viacheslavo@mellanox.com,
 ferruh.yigit@intel.com, thomas@monjalon.net
Date: Thu, 23 Jan 2020 16:25:50 +0200
Message-Id: <1579789555-23239-1-git-send-email-akozyrev@mellanox.com>
X-Mailer: git-send-email 1.8.3.1
Subject: [dpdk-dev] [PATCH 0/5] net/mlx: assert cleanup in mlx drivers
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

The Mellanox PMD uses the NDEBUG definition to control built-in debug
features including the asserting one. The DPDK uses a bit different
approach and provides RTE_ASSERT macro and appropriate global
configuration option: CONFIG_RTE_ENABLE_ASSERT.
The patch set introduces the MLX_ASSERT macros that allows to follow
the DPDK approach in an unified fashion and, at the same time,
provides the opportunity to turn on Mellanox PMD assert feature with
dedicated local configuration options: CONFIG_RTE_LIBRTE_MLX_DEBUG.
Note that the direct configuration MLX_DEBUG is more clear than
double negation "ifndef NDEBUG" used before.
This patch set triggers another false positive warning with ICC.
To spare future development efforts we disable the treatments of
compilation warnings as errors in ICC config. GCC stays as a guard.

Alexander Kozyrev (5):
  mk/icc: disable treatment of warnings as errors
  net/mlx4: use mlx4 debug flag instead of NDEBUG
  net/mlx4: introduce the mlx4 version of the assert
  net/mlx5: use mlx5 debug flag instead of NDEBUG
  net/mlx5: introduce the mlx5 version of the assert

 drivers/net/mlx4/Makefile                |   4 +-
 drivers/net/mlx4/meson.build             |   4 +-
 drivers/net/mlx4/mlx4.c                  |  29 ++--
 drivers/net/mlx4/mlx4_ethdev.c           |   5 +-
 drivers/net/mlx4/mlx4_flow.c             |  34 ++--
 drivers/net/mlx4/mlx4_intr.c             |   3 +-
 drivers/net/mlx4/mlx4_mp.c               |  25 ++-
 drivers/net/mlx4/mlx4_mr.c               |  70 ++++----
 drivers/net/mlx4/mlx4_rxq.c              |  53 +++---
 drivers/net/mlx4/mlx4_rxtx.c             |  27 ++-
 drivers/net/mlx4/mlx4_txq.c              |  17 +-
 drivers/net/mlx4/mlx4_utils.c            |   3 +-
 drivers/net/mlx4/mlx4_utils.h            |  15 +-
 drivers/net/mlx5/Makefile                |   4 +-
 drivers/net/mlx5/meson.build             |   4 +-
 drivers/net/mlx5/mlx5.c                  |  83 +++++----
 drivers/net/mlx5/mlx5_devx_cmds.c        |   4 +-
 drivers/net/mlx5/mlx5_ethdev.c           |  67 ++++----
 drivers/net/mlx5/mlx5_flow.c             |  67 ++++----
 drivers/net/mlx5/mlx5_flow_dv.c          |  91 +++++-----
 drivers/net/mlx5/mlx5_flow_meter.c       |  12 +-
 drivers/net/mlx5/mlx5_flow_verbs.c       |   4 +-
 drivers/net/mlx5/mlx5_mac.c              |   5 +-
 drivers/net/mlx5/mlx5_mp.c               |  29 ++--
 drivers/net/mlx5/mlx5_mr.c               |  67 ++++----
 drivers/net/mlx5/mlx5_nl.c               |  26 +--
 drivers/net/mlx5/mlx5_prm.h              |   3 +-
 drivers/net/mlx5/mlx5_rss.c              |   3 +-
 drivers/net/mlx5/mlx5_rxq.c              |  41 +++--
 drivers/net/mlx5/mlx5_rxtx.c             | 283 ++++++++++++++++---------------
 drivers/net/mlx5/mlx5_rxtx.h             |   6 +-
 drivers/net/mlx5/mlx5_rxtx_vec.c         |   1 -
 drivers/net/mlx5/mlx5_rxtx_vec.h         |   7 +-
 drivers/net/mlx5/mlx5_rxtx_vec_altivec.h |  11 +-
 drivers/net/mlx5/mlx5_rxtx_vec_neon.h    |  11 +-
 drivers/net/mlx5/mlx5_rxtx_vec_sse.h     |  11 +-
 drivers/net/mlx5/mlx5_socket.c           |   4 +-
 drivers/net/mlx5/mlx5_stats.c            |   2 +-
 drivers/net/mlx5/mlx5_txq.c              |  41 +++--
 drivers/net/mlx5/mlx5_utils.c            |   8 +-
 drivers/net/mlx5/mlx5_utils.h            |  30 ++--
 drivers/net/mlx5/mlx5_vlan.c             |   7 +-
 mk/toolchain/icc/rte.vars.mk             |   4 -
 43 files changed, 606 insertions(+), 619 deletions(-)

-- 
1.8.3.1