From patchwork Thu Mar 2 20:22:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hernan Vargas X-Patchwork-Id: 124747 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 4F0E341DB8; Thu, 2 Mar 2023 21:23:11 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B013142D4F; Thu, 2 Mar 2023 21:22:10 +0100 (CET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id A973642D1A for ; Thu, 2 Mar 2023 21:22:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677788524; x=1709324524; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=whh1LOkkIj0aUAz7GiWQQpTvFnHjh4ZmEPKpSwUxOEk=; b=J0kupJDawWeZ8EF1OAqFusOlksaYYDAqY5bNclxhuw/VcYpZ8CURwkdB C3sPRTOvTY/DQhBgjmPtbogvEaFVD97avgNJkCmsj+jj28qxkDW/BsaPT 6lDopmMX9bfAR8Xcwe2D6lDoVwGITWmUcIB7a3anUgvBQbpkcCIMCO/zg aOvishPXG9nUKivB7/oeZ0AhXq6ry0c7bD9E2PJglLhdQ8Q26XmqcDhqK 3zSMsy3GaWxVNEOFk893PopoqKay+4X47OWmSVKed1dXyw62eWVQ4Yuuv m3Lgh6ZkyzTS8bYnmTJORwn0Zmar6nE6UPI+jR9DmbX3Q6udlZrXbrUYt w==; X-IronPort-AV: E=McAfee;i="6500,9779,10637"; a="334871213" X-IronPort-AV: E=Sophos;i="5.98,228,1673942400"; d="scan'208";a="334871213" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Mar 2023 12:22:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10637"; a="705398124" X-IronPort-AV: E=Sophos;i="5.98,228,1673942400"; d="scan'208";a="705398124" Received: from unknown (HELO csl-npg-qt0.la.intel.com) ([10.233.181.103]) by orsmga008.jf.intel.com with ESMTP; 02 Mar 2023 12:22:02 -0800 From: Hernan Vargas To: dev@dpdk.org, gakhil@marvell.com, trix@redhat.com, maxime.coquelin@redhat.com Cc: nicolas.chautru@intel.com, qi.z.zhang@intel.com, Hernan Vargas Subject: [PATCH v3 11/17] test/bbdev: extend support for large TB Date: Thu, 2 Mar 2023 12:22:05 -0800 Message-Id: <20230302202211.170017-12-hernan.vargas@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230302202211.170017-1-hernan.vargas@intel.com> References: <20230302202211.170017-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 bd8310ac2c56..e611df75763c 100644 --- a/app/test-bbdev/test_bbdev_perf.c +++ b/app/test-bbdev/test_bbdev_perf.c @@ -1084,8 +1084,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; @@ -2041,6 +2039,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", @@ -2053,21 +2052,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; }