From patchwork Wed Nov 22 11:06:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gowrishankar Muthukrishnan X-Patchwork-Id: 134528 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 389344339B; Wed, 22 Nov 2023 12:06:29 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EFFAE40DCA; Wed, 22 Nov 2023 12:06:26 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 5D1E040DC9 for ; Wed, 22 Nov 2023 12:06:25 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3ALMF9FZ012979; Wed, 22 Nov 2023 03:06:24 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=H7bkqsFl0EnDEy6RkXKm1OP1GlEFBPHKweXz6Nabbss=; b=XfLxK1zWsexUHfurNm1r8eKN5lWox4C0HAP8Y/Y/8rx8oAk6pRfQu6abRS0WEB5zUgOv Yqp+IAR6f8A0xUg7HMPV82Rse7GoZ0QrQSwEFLpfCAiAFt5EBYlu8t+csOZ/4Jjbdake fAogz/T7xyiw4fAIRp8KAOmZkvy2tJ421v4vl9RKn6CCmuQ5TfCTJpPNlbmpGcJ4xLEL cKZMIp9Y/WwF2NoS7SOgZDnMtQLsMawlDxqQZzpM54kWiVWr34S6y9bfA/+NGE+b0PDT rD9x1PybSZm8MLhw4Jt/pJLGGmrG+Tjt0WgVPH6E9xt99GMULcjPhfYFFPMTx836neF6 eQ== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3uh1jbb15k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 22 Nov 2023 03:06:24 -0800 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Wed, 22 Nov 2023 03:06:22 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Wed, 22 Nov 2023 03:06:22 -0800 Received: from BG-LT91401.marvell.com (BG-LT91401.marvell.com [10.28.168.34]) by maili.marvell.com (Postfix) with ESMTP id ECA7E3F707D; Wed, 22 Nov 2023 03:06:19 -0800 (PST) From: Gowrishankar Muthukrishnan To: CC: , Cheng Jiang , Kevin Laatz , Bruce Richardson , "Pavan Nikhilesh" , Amit Prakash Shukla , Chengwen Feng Subject: [PATCH v8 1/4] app/dma-perf: add skip support Date: Wed, 22 Nov 2023 16:36:06 +0530 Message-ID: <5e281065a07a24e67c6954d2740626a3f45d4365.1700650397.git.gmuthukrishn@marvell.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: References: MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: vmoVDravJRL14pGyhe76nAT7It7HxT8j X-Proofpoint-GUID: vmoVDravJRL14pGyhe76nAT7It7HxT8j X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-22_06,2023-11-22_01,2023-05-22_02 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Amit Prakash Shukla Add support to skip running a dma-perf test-case. Signed-off-by: Amit Prakash Shukla Acked-by: Anoob Joseph Acked-by: Chengwen Feng --- v8: - abstracted csv file write error log --- app/test-dma-perf/config.ini | 2 ++ app/test-dma-perf/main.c | 48 ++++++++++++++++++++++-------------- app/test-dma-perf/main.h | 1 + 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/app/test-dma-perf/config.ini b/app/test-dma-perf/config.ini index b550f4b23f..4d59234b2a 100644 --- a/app/test-dma-perf/config.ini +++ b/app/test-dma-perf/config.ini @@ -36,6 +36,8 @@ ; If you do not specify a result file, one will be generated with the same name as the configuration ; file, with the addition of "_result.csv" at the end. +; "skip" To skip a test-case set skip to 1. + [case1] type=DMA_MEM_COPY mem_size=10 diff --git a/app/test-dma-perf/main.c b/app/test-dma-perf/main.c index 5f8bab8f45..33c3750bb1 100644 --- a/app/test-dma-perf/main.c +++ b/app/test-dma-perf/main.c @@ -86,6 +86,19 @@ output_header(uint32_t case_id, struct test_configure *case_cfg) output_csv(true); } +static int +open_output_csv(const char *rst_path_ptr) +{ + fd = fopen(rst_path_ptr, "a"); + if (!fd) { + printf("Open output CSV file error.\n"); + return 1; + } + output_csv(true); + fclose(fd); + return 0; +} + static void run_test_case(struct test_configure *case_cfg) { @@ -320,6 +333,7 @@ load_configs(const char *path) const char *case_type; const char *lcore_dma; const char *mem_size_str, *buf_size_str, *ring_size_str, *kick_batch_str; + const char *skip; int args_nr, nb_vp; bool is_dma; @@ -339,6 +353,13 @@ load_configs(const char *path) for (i = 0; i < nb_sections; i++) { snprintf(section_name, CFG_NAME_LEN, "case%d", i + 1); test_case = &test_cases[i]; + + skip = rte_cfgfile_get_entry(cfgfile, section_name, "skip"); + if (skip && (atoi(skip) == 1)) { + test_case->is_skip = true; + continue; + } + case_type = rte_cfgfile_get_entry(cfgfile, section_name, "type"); if (case_type == NULL) { printf("Error: No case type in case %d, the test will be finished here.\n", @@ -523,31 +544,20 @@ main(int argc, char *argv[]) printf("Running cases...\n"); for (i = 0; i < case_nb; i++) { - if (!test_cases[i].is_valid) { - printf("Invalid test case %d.\n\n", i + 1); - snprintf(output_str[0], MAX_OUTPUT_STR_LEN, "Invalid case %d\n", i + 1); - - fd = fopen(rst_path_ptr, "a"); - if (!fd) { - printf("Open output CSV file error.\n"); + if (test_cases[i].is_skip) { + printf("Test case %d configured to be skipped.\n\n", i + 1); + snprintf(output_str[0], MAX_OUTPUT_STR_LEN, "Skip the test-case %d\n", + i + 1); + if (open_output_csv(rst_path_ptr)) return 0; - } - output_csv(true); - fclose(fd); continue; } - if (test_cases[i].test_type == TEST_TYPE_NONE) { - printf("No valid test type in test case %d.\n\n", i + 1); + if (!test_cases[i].is_valid) { + printf("Invalid test case %d.\n\n", i + 1); snprintf(output_str[0], MAX_OUTPUT_STR_LEN, "Invalid case %d\n", i + 1); - - fd = fopen(rst_path_ptr, "a"); - if (!fd) { - printf("Open output CSV file error.\n"); + if (open_output_csv(rst_path_ptr)) return 0; - } - output_csv(true); - fclose(fd); continue; } diff --git a/app/test-dma-perf/main.h b/app/test-dma-perf/main.h index 62085e6e8f..32670151af 100644 --- a/app/test-dma-perf/main.h +++ b/app/test-dma-perf/main.h @@ -40,6 +40,7 @@ struct lcore_dma_map_t { struct test_configure { bool is_valid; + bool is_skip; uint8_t test_type; const char *test_type_str; uint16_t src_numa_node;