From patchwork Fri Aug 21 15:59:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 75822 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A9457A04AF; Fri, 21 Aug 2020 18:00:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 262E31C0B6; Fri, 21 Aug 2020 18:00:04 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 5F8EFAAD5 for ; Fri, 21 Aug 2020 18:00:02 +0200 (CEST) IronPort-SDR: yPWSnNZ9IjqMoEhzo1p4sifDnv5xZoXnz51C5vn+UiUMjaXyLI1YjlzGJ69S4sjKe60bHAMaDN WjEtx7euBLmA== X-IronPort-AV: E=McAfee;i="6000,8403,9719"; a="173607832" X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="173607832" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Aug 2020 09:00:01 -0700 IronPort-SDR: lp1QtJ5Uju3GCnLbNf47X4YfpkLZrWirrrPayy2P1cY8dIT5o5S1WKN/WeSS8mNYLQvIPANra4 7tk7atmij1Hg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,337,1592895600"; d="scan'208";a="473094274" Received: from silpixa00399126.ir.intel.com ([10.237.222.56]) by orsmga005.jf.intel.com with ESMTP; 21 Aug 2020 09:00:00 -0700 From: Bruce Richardson To: Hemant Agrawal , Nipun Gupta Cc: dev@dpdk.org, Bruce Richardson Date: Fri, 21 Aug 2020 16:59:43 +0100 Message-Id: <20200821155945.29415-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200821155945.29415-1-bruce.richardson@intel.com> References: <20200821155945.29415-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/4] raw/ioat: include extra info in error messages 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" In case of any failures, include the function name and the line number of the error message in the message, to make tracking down the failure easier. Signed-off-by: Bruce Richardson --- drivers/raw/ioat/ioat_rawdev_test.c | 52 +++++++++++++++++++---------- 1 file changed, 34 insertions(+), 18 deletions(-) diff --git a/drivers/raw/ioat/ioat_rawdev_test.c b/drivers/raw/ioat/ioat_rawdev_test.c index 6262995256..534b07b124 100644 --- a/drivers/raw/ioat/ioat_rawdev_test.c +++ b/drivers/raw/ioat/ioat_rawdev_test.c @@ -17,6 +17,22 @@ int ioat_rawdev_test(uint16_t dev_id); /* pre-define to keep compiler happy */ static struct rte_mempool *pool; static unsigned short expected_ring_size[MAX_SUPPORTED_RAWDEVS]; +#define PRINT_ERR(...) print_err(__func__, __LINE__, __VA_ARGS__) + +static inline int +print_err(const char *func, int lineno, const char *format, ...) +{ + va_list ap; + int ret; + + ret = fprintf(stderr, "In %s:%d - ", func, lineno); + va_start(ap, format); + ret += vfprintf(stderr, format, ap); + va_end(ap); + + return ret; +} + static int test_enqueue_copies(int dev_id) { @@ -46,7 +62,7 @@ test_enqueue_copies(int dev_id) (uintptr_t)src, (uintptr_t)dst, 0 /* no fence */) != 1) { - printf("Error with rte_ioat_enqueue_copy\n"); + PRINT_ERR("Error with rte_ioat_enqueue_copy\n"); return -1; } rte_ioat_do_copies(dev_id); @@ -54,18 +70,18 @@ test_enqueue_copies(int dev_id) if (rte_ioat_completed_copies(dev_id, 1, (void *)&completed[0], (void *)&completed[1]) != 1) { - printf("Error with rte_ioat_completed_copies\n"); + PRINT_ERR("Error with rte_ioat_completed_copies\n"); return -1; } if (completed[0] != src || completed[1] != dst) { - printf("Error with completions: got (%p, %p), not (%p,%p)\n", + PRINT_ERR("Error with completions: got (%p, %p), not (%p,%p)\n", completed[0], completed[1], src, dst); return -1; } for (i = 0; i < length; i++) if (dst_data[i] != src_data[i]) { - printf("Data mismatch at char %u\n", i); + PRINT_ERR("Data mismatch at char %u\n", i); return -1; } rte_pktmbuf_free(src); @@ -98,7 +114,7 @@ test_enqueue_copies(int dev_id) (uintptr_t)srcs[i], (uintptr_t)dsts[i], 0 /* nofence */) != 1) { - printf("Error with rte_ioat_enqueue_copy for buffer %u\n", + PRINT_ERR("Error with rte_ioat_enqueue_copy for buffer %u\n", i); return -1; } @@ -108,18 +124,18 @@ test_enqueue_copies(int dev_id) if (rte_ioat_completed_copies(dev_id, 64, (void *)completed_src, (void *)completed_dst) != RTE_DIM(srcs)) { - printf("Error with rte_ioat_completed_copies\n"); + PRINT_ERR("Error with rte_ioat_completed_copies\n"); return -1; } for (i = 0; i < RTE_DIM(srcs); i++) { char *src_data, *dst_data; if (completed_src[i] != srcs[i]) { - printf("Error with source pointer %u\n", i); + PRINT_ERR("Error with source pointer %u\n", i); return -1; } if (completed_dst[i] != dsts[i]) { - printf("Error with dest pointer %u\n", i); + PRINT_ERR("Error with dest pointer %u\n", i); return -1; } @@ -127,7 +143,7 @@ test_enqueue_copies(int dev_id) dst_data = rte_pktmbuf_mtod(dsts[i], char *); for (j = 0; j < length; j++) if (src_data[j] != dst_data[j]) { - printf("Error with copy of packet %u, byte %u\n", + PRINT_ERR("Error with copy of packet %u, byte %u\n", i, j); return -1; } @@ -160,26 +176,26 @@ ioat_rawdev_test(uint16_t dev_id) rte_rawdev_info_get(dev_id, &info, sizeof(p)); if (p.ring_size != expected_ring_size[dev_id]) { - printf("Error, initial ring size is not as expected (Actual: %d, Expected: %d)\n", + PRINT_ERR("Error, initial ring size is not as expected (Actual: %d, Expected: %d)\n", (int)p.ring_size, expected_ring_size[dev_id]); return -1; } p.ring_size = IOAT_TEST_RINGSIZE; if (rte_rawdev_configure(dev_id, &info, sizeof(p)) != 0) { - printf("Error with rte_rawdev_configure()\n"); + PRINT_ERR("Error with rte_rawdev_configure()\n"); return -1; } rte_rawdev_info_get(dev_id, &info, sizeof(p)); if (p.ring_size != IOAT_TEST_RINGSIZE) { - printf("Error, ring size is not %d (%d)\n", + PRINT_ERR("Error, ring size is not %d (%d)\n", IOAT_TEST_RINGSIZE, (int)p.ring_size); return -1; } expected_ring_size[dev_id] = p.ring_size; if (rte_rawdev_start(dev_id) != 0) { - printf("Error with rte_rawdev_start()\n"); + PRINT_ERR("Error with rte_rawdev_start()\n"); return -1; } @@ -190,7 +206,7 @@ ioat_rawdev_test(uint16_t dev_id) 2048, /* data room size */ info.socket_id); if (pool == NULL) { - printf("Error with mempool creation\n"); + PRINT_ERR("Error with mempool creation\n"); return -1; } @@ -199,14 +215,14 @@ ioat_rawdev_test(uint16_t dev_id) snames = malloc(sizeof(*snames) * nb_xstats); if (snames == NULL) { - printf("Error allocating xstat names memory\n"); + PRINT_ERR("Error allocating xstat names memory\n"); goto err; } rte_rawdev_xstats_names_get(dev_id, snames, nb_xstats); ids = malloc(sizeof(*ids) * nb_xstats); if (ids == NULL) { - printf("Error allocating xstat ids memory\n"); + PRINT_ERR("Error allocating xstat ids memory\n"); goto err; } for (i = 0; i < nb_xstats; i++) @@ -214,7 +230,7 @@ ioat_rawdev_test(uint16_t dev_id) stats = malloc(sizeof(*stats) * nb_xstats); if (stats == NULL) { - printf("Error allocating xstat memory\n"); + PRINT_ERR("Error allocating xstat memory\n"); goto err; } @@ -234,7 +250,7 @@ ioat_rawdev_test(uint16_t dev_id) rte_rawdev_stop(dev_id); if (rte_rawdev_xstats_reset(dev_id, NULL, 0) != 0) { - printf("Error resetting xstat values\n"); + PRINT_ERR("Error resetting xstat values\n"); goto err; }