From patchwork Wed Feb 15 17:09:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hernan Vargas X-Patchwork-Id: 123969 X-Patchwork-Delegate: maxime.coquelin@redhat.com 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 EA1AC41CA8; Wed, 15 Feb 2023 18:14:13 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 58E2442D50; Wed, 15 Feb 2023 18:13:13 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 621F442D0B for ; Wed, 15 Feb 2023 18:13:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676481182; x=1708017182; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5rUMS8AWyprC0r0WsBSGpias84Zp7k3D8XyDkOCmzho=; b=iXjW8pJ/T6tbE7bHKJ7GeJMN70eVHrFKtP+jqgZ+czSiFTJr6Et5FFE+ BowzX2lUQYemKE7XLl61/tvuTaZ+Wl2LCBOSanM4L3lFTSgsJkg38tb2I VfOfMseAH5KhqnXKdqg2pnNzT+Mfoym14gnTtJfzgbBk+/Adj3cG5iWmZ B56eXQPoVSoGnjMM3iIXnOTt8asy8rYC0h05XRLqwPM89z/+PqiNyUrFb 9QsD2w02e7/UpA/D5QjizD/6rlf9KOSLvJj3aV2Q0+GxXe+vhmtojfpwN 0DMPDQnu9d9XnDeYdaEPbLZqr5ohVvq0vze0NTdcWX/VBsCOXFLRDVFjZ Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="332789822" X-IronPort-AV: E=Sophos;i="5.97,300,1669104000"; d="scan'208";a="332789822" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 09:10:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="758489635" X-IronPort-AV: E=Sophos;i="5.97,300,1669104000"; d="scan'208";a="758489635" Received: from unknown (HELO csl-npg-qt0.la.intel.com) ([10.233.181.103]) by FMSMGA003.fm.intel.com with ESMTP; 15 Feb 2023 09:09:59 -0800 From: Hernan Vargas To: dev@dpdk.org, maxime.coquelin@redhat.com, gakhil@marvell.com, trix@redhat.com Cc: nicolas.chautru@intel.com, qi.z.zhang@intel.com, Hernan Vargas Subject: [PATCH v2 09/16] test/bbdev: extend support for large TB Date: Wed, 15 Feb 2023 09:09:42 -0800 Message-Id: <20230215170949.60569-10-hernan.vargas@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230215170949.60569-1-hernan.vargas@intel.com> References: <20230215170949.60569-1-hernan.vargas@intel.com> MIME-Version: 1.0 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 Add support for large TB when it cannot fit into a true mbuf. Signed-off-by: Hernan Vargas Reviewed-by: Maxime Coquelin --- app/test-bbdev/test_bbdev_perf.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c index acfefb7efa..bdddf4f8b2 100644 --- a/app/test-bbdev/test_bbdev_perf.c +++ b/app/test-bbdev/test_bbdev_perf.c @@ -1073,8 +1073,6 @@ init_op_data_objs(struct rte_bbdev_op_data *bufs, * Special case when DPDK mbuf cannot handle * the required input size */ - printf("Warning: Larger input size than DPDK mbuf %d\n", - seg->length); large_input = true; } bufs[i].data = m_head; @@ -2031,6 +2029,7 @@ validate_op_chain(struct rte_bbdev_op_data *op, struct rte_mbuf *m = op->data; uint8_t nb_dst_segments = orig_op->nb_segments; uint32_t total_data_size = 0; + bool ignore_mbuf = false; /* ignore mbuf limitations */ TEST_ASSERT(nb_dst_segments == m->nb_segs, "Number of segments differ in original (%u) and filled (%u) op", @@ -2043,21 +2042,25 @@ validate_op_chain(struct rte_bbdev_op_data *op, uint16_t data_len = rte_pktmbuf_data_len(m) - offset; total_data_size += orig_op->segments[i].length; - TEST_ASSERT(orig_op->segments[i].length == data_len, - "Length of segment differ in original (%u) and filled (%u) op", - orig_op->segments[i].length, data_len); + if (orig_op->segments[i].length > RTE_BBDEV_LDPC_E_MAX_MBUF) + ignore_mbuf = true; + if (!ignore_mbuf) + TEST_ASSERT(orig_op->segments[i].length == data_len, + "Length of segment differ in original (%u) and filled (%u) op", + orig_op->segments[i].length, data_len); TEST_ASSERT_BUFFERS_ARE_EQUAL(orig_op->segments[i].addr, rte_pktmbuf_mtod_offset(m, uint32_t *, offset), - data_len, + orig_op->segments[i].length, "Output buffers (CB=%u) are not equal", i); m = m->next; } /* Validate total mbuf pkt length */ uint32_t pkt_len = rte_pktmbuf_pkt_len(op->data) - op->offset; - TEST_ASSERT(total_data_size == pkt_len, - "Length of data differ in original (%u) and filled (%u) op", - total_data_size, pkt_len); + if (!ignore_mbuf) + TEST_ASSERT(total_data_size == pkt_len, + "Length of data differ in original (%u) and filled (%u) op", + total_data_size, pkt_len); return TEST_SUCCESS; }