Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/139634/?format=api
https://patches.dpdk.org/api/patches/139634/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20240422190800.123027-8-hernan.vargas@intel.com/", "project": { "id": 1, "url": "https://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20240422190800.123027-8-hernan.vargas@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20240422190800.123027-8-hernan.vargas@intel.com", "date": "2024-04-22T19:07:58", "name": "[v1,7/9] test/bbdev: check assumptions on fft window", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "6f81de40cb1e6befdb7fea13c38444d06da56ea0", "submitter": { "id": 2659, "url": "https://patches.dpdk.org/api/people/2659/?format=api", "name": "Hernan Vargas", "email": "hernan.vargas@intel.com" }, "delegate": { "id": 2642, "url": "https://patches.dpdk.org/api/users/2642/?format=api", "username": "mcoquelin", "first_name": "Maxime", "last_name": "Coquelin", "email": "maxime.coquelin@redhat.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20240422190800.123027-8-hernan.vargas@intel.com/mbox/", "series": [ { "id": 31807, "url": "https://patches.dpdk.org/api/series/31807/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=31807", "date": "2024-04-22T19:07:51", "name": "test-bbdev fixes and improvements for 24.07", "version": 1, "mbox": "https://patches.dpdk.org/series/31807/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/139634/comments/", "check": "success", "checks": "https://patches.dpdk.org/api/patches/139634/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 6FE5043EDD;\n\tMon, 22 Apr 2024 21:12:22 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9C6FC40A71;\n\tMon, 22 Apr 2024 21:11:44 +0200 (CEST)", "from mgamail.intel.com (mgamail.intel.com [198.175.65.11])\n by mails.dpdk.org (Postfix) with ESMTP id 67E2D402F0\n for <dev@dpdk.org>; Mon, 22 Apr 2024 21:11:35 +0200 (CEST)", "from orviesa006.jf.intel.com ([10.64.159.146])\n by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 22 Apr 2024 12:11:35 -0700", "from unknown (HELO csl-npg-qt0.la.intel.com) ([10.233.181.103])\n by orviesa006.jf.intel.com with ESMTP; 22 Apr 2024 12:11:34 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1713813096; x=1745349096;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=Yoja6VPQ2sIc9oxPMcik3HfIHnvvsfFXkFXnhcTn++w=;\n b=NUaHY9f8AZNb6e51cjW4MIz+omo8O208Aclb7kvDuIZKvffKm4W5Wlpu\n mwMpwqBClnJoAeVXbTo7LCY5Iix9K5pF4oa/+uKjlnlS7jUzqVbHpXC9m\n pfhsXNilN5J/FTJOviQuhtkGBPQQ7ay4pd0WdBrwAAP6dDsoE8F71yOsP\n q3ygVI/e1JM/EK8d/iTuyyMpYGu9DIKaFtjW3hnYO+V6MtHbed5O32zg/\n a7oLmG2GeRdamnJLTAUR34nsorHQ/maI3wQcuS11dq7IamOeGW1FmnTrV\n FKTXog+1TDOJzvLu/+ni3nTGZAfPXS2ExznLDyE94uCu8LaSm0G01p7nq w==;", "X-CSE-ConnectionGUID": [ "8DLLYyFjQheq6FoM9Ccnog==", "g8n7etWGQGqvgE6D+PJfVg==" ], "X-CSE-MsgGUID": [ "B7lmTq7VT9SRReJE3jO9ZQ==", "wr0a78ZeSZyfhL3nbQhSWw==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,11052\"; a=\"19922817\"", "E=Sophos;i=\"6.07,221,1708416000\"; d=\"scan'208\";a=\"19922817\"", "E=Sophos;i=\"6.07,221,1708416000\"; d=\"scan'208\";a=\"24555972\"" ], "X-ExtLoop1": "1", "From": "Hernan Vargas <hernan.vargas@intel.com>", "To": "dev@dpdk.org, gakhil@marvell.com, trix@redhat.com,\n maxime.coquelin@redhat.com", "Cc": "nicolas.chautru@intel.com, qi.z.zhang@intel.com,\n Hernan Vargas <hernan.vargas@intel.com>", "Subject": "[PATCH v1 7/9] test/bbdev: check assumptions on fft window", "Date": "Mon, 22 Apr 2024 12:07:58 -0700", "Message-Id": "<20240422190800.123027-8-hernan.vargas@intel.com>", "X-Mailer": "git-send-email 2.37.1", "In-Reply-To": "<20240422190800.123027-1-hernan.vargas@intel.com>", "References": "<20240422190800.123027-1-hernan.vargas@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "Add check for FFT window width.\n\nSigned-off-by: Hernan Vargas <hernan.vargas@intel.com>\n---\n app/test-bbdev/test_bbdev_perf.c | 26 ++++++++++++++++++++++----\n app/test-bbdev/test_bbdev_vector.c | 14 ++++++++++++++\n app/test-bbdev/test_bbdev_vector.h | 2 ++\n 3 files changed, 38 insertions(+), 4 deletions(-)", "diff": "diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c\nindex 28d78e73a9c1..57b21730cab2 100644\n--- a/app/test-bbdev/test_bbdev_perf.c\n+++ b/app/test-bbdev/test_bbdev_perf.c\n@@ -106,6 +106,8 @@ static int ldpc_llr_decimals;\n static int ldpc_llr_size;\n /* Keep track of the LDPC decoder device capability flag */\n static uint32_t ldpc_cap_flags;\n+/* FFT window width predefined on device and on vector. */\n+static int fft_window_width_dev;\n \n /* Represents tested active devices */\n static struct active_device {\n@@ -881,6 +883,13 @@ add_bbdev_dev(uint8_t dev_id, struct rte_bbdev_info *info,\n \trte_bbdev_info_get(dev_id, info);\n \tif (info->drv.device_status == RTE_BBDEV_DEV_FATAL_ERR)\n \t\tprintf(\"Device Status %s\\n\", rte_bbdev_device_status_str(info->drv.device_status));\n+\tif (info->drv.fft_window_width != NULL)\n+\t\tfft_window_width_dev = info->drv.fft_window_width[0];\n+\telse\n+\t\tfft_window_width_dev = 0;\n+\tif (fft_window_width_dev != 0)\n+\t\tprintf(\" FFT Window0 width %d\\n\", fft_window_width_dev);\n+\n \tnb_queues = RTE_MIN(rte_lcore_count(), info->drv.max_num_queues);\n \tnb_queues = RTE_MIN(nb_queues, (unsigned int) MAX_QUEUES);\n \n@@ -2583,7 +2592,8 @@ validate_ldpc_enc_op(struct rte_bbdev_enc_op **ops, const uint16_t n,\n }\n \n static inline int\n-validate_op_fft_chain(struct rte_bbdev_op_data *op, struct op_data_entries *orig_op)\n+validate_op_fft_chain(struct rte_bbdev_op_data *op, struct op_data_entries *orig_op,\n+\t\tbool skip_validate_output)\n {\n \tstruct rte_mbuf *m = op->data;\n \tuint8_t i, nb_dst_segments = orig_op->nb_segments;\n@@ -2613,7 +2623,7 @@ validate_op_fft_chain(struct rte_bbdev_op_data *op, struct op_data_entries *orig\n \t\t\tabs_delt = delt > 0 ? delt : -delt;\n \t\t\terror_num += (abs_delt > thres_hold ? 1 : 0);\n \t\t}\n-\t\tif (error_num > 0) {\n+\t\tif ((error_num > 0) && !skip_validate_output) {\n \t\t\trte_memdump(stdout, \"Buffer A\", ref_out, data_len);\n \t\t\trte_memdump(stdout, \"Buffer B\", op_out, data_len);\n \t\t\tTEST_ASSERT(error_num == 0,\n@@ -2686,16 +2696,24 @@ validate_fft_op(struct rte_bbdev_fft_op **ops, const uint16_t n,\n \tint ret;\n \tstruct op_data_entries *fft_data_orig = &test_vector.entries[DATA_HARD_OUTPUT];\n \tstruct op_data_entries *fft_pwr_orig = &test_vector.entries[DATA_SOFT_OUTPUT];\n+\tbool skip_validate_output = false;\n+\n+\tif ((test_vector.fft_window_width_vec > 0) &&\n+\t\t\t(test_vector.fft_window_width_vec != fft_window_width_dev)) {\n+\t\tprintf(\"The vector FFT width doesn't match with device - skip %d %d\\n\",\n+\t\t\t\ttest_vector.fft_window_width_vec, fft_window_width_dev);\n+\t\tskip_validate_output = true;\n+\t}\n \n \tfor (i = 0; i < n; ++i) {\n \t\tret = check_fft_status_and_ordering(ops[i], i, ref_op->status);\n \t\tTEST_ASSERT_SUCCESS(ret, \"Checking status and ordering for FFT failed\");\n \t\tTEST_ASSERT_SUCCESS(validate_op_fft_chain(\n-\t\t\t\t&ops[i]->fft.base_output, fft_data_orig),\n+\t\t\t\t&ops[i]->fft.base_output, fft_data_orig, skip_validate_output),\n \t\t\t\t\"FFT Output buffers (op=%u) are not matched\", i);\n \t\tif (check_bit(ops[i]->fft.op_flags, RTE_BBDEV_FFT_POWER_MEAS))\n \t\t\tTEST_ASSERT_SUCCESS(validate_op_fft_chain(\n-\t\t\t\t&ops[i]->fft.power_meas_output, fft_pwr_orig),\n+\t\t\t\t&ops[i]->fft.power_meas_output, fft_pwr_orig, skip_validate_output),\n \t\t\t\t\"FFT Power Output buffers (op=%u) are not matched\", i);\n \t}\n \ndiff --git a/app/test-bbdev/test_bbdev_vector.c b/app/test-bbdev/test_bbdev_vector.c\nindex b3e9d4bb7504..e48947b211ac 100644\n--- a/app/test-bbdev/test_bbdev_vector.c\n+++ b/app/test-bbdev/test_bbdev_vector.c\n@@ -1050,6 +1050,20 @@ parse_fft_params(const char *key_token, char *token,\n \t\t\t}\n \t\t}\n \t\tret = ((err == NULL) || (*err != '\\0')) ? -1 : 0;\n+\t} else if (!strcmp(key_token, \"fft_window_width\")) {\n+\t\ttok = strtok(token, VALUE_DELIMITER);\n+\t\tif (tok == NULL)\n+\t\t\treturn -1;\n+\t\tfor (i = 0; i < FFT_WIN_SIZE; i++) {\n+\t\t\tif (i == 0)\n+\t\t\t\tvector->fft_window_width_vec = (uint32_t) strtoul(tok, &err, 0);\n+\t\t\tif (i < (FFT_WIN_SIZE - 1)) {\n+\t\t\t\ttok = strtok(NULL, VALUE_DELIMITER);\n+\t\t\t\tif (tok == NULL)\n+\t\t\t\t\treturn -1;\n+\t\t\t}\n+\t\t}\n+\t\tret = ((err == NULL) || (*err != '\\0')) ? -1 : 0;\n \t} else if (!strcmp(key_token, \"op_flags\")) {\n \t\tvector->mask |= TEST_BBDEV_VF_OP_FLAGS;\n \t\tret = parse_turbo_flags(token, &op_flags, vector->op_type);\ndiff --git a/app/test-bbdev/test_bbdev_vector.h b/app/test-bbdev/test_bbdev_vector.h\nindex 14b8ef2764ad..ba1d0d20f9ea 100644\n--- a/app/test-bbdev/test_bbdev_vector.h\n+++ b/app/test-bbdev/test_bbdev_vector.h\n@@ -69,6 +69,8 @@ struct test_bbdev_vector {\n \t};\n \t/* Additional storage for op data entries */\n \tstruct op_data_entries entries[DATA_NUM_TYPES];\n+\t/* Vector FFT window width assumption. */\n+\tuint16_t fft_window_width_vec;\n };\n \n /* fills test vector parameters based on test file */\n", "prefixes": [ "v1", "7/9" ] }{ "id": 139634, "url": "