From patchwork Tue Dec 6 19:14:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 120503 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 6DAEEA034C; Tue, 6 Dec 2022 20:14:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 062E242670; Tue, 6 Dec 2022 20:14:50 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 7A66A40395 for ; Tue, 6 Dec 2022 20:14:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670354087; x=1701890087; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OXu7CQgVB8YgCZUmK4vu9vJuIf0sC/sX+EnRf/dEUTQ=; b=WjulqP/nKh9f6jOXmkCbEge8DrEpQ/3TkHB0+J9U/3JYevy+idldxmuI ijBZRYH3+eO0OrKLDBbbVWtQMae4pm4GRnpGr62qn8Zd7RIErn5U/R+j0 IrN3Txg647jFoR2ermwNy4QXfU0inqyIL21RzSpPtksnmtLDJYb0Gpdkh y6kOL/nJvg+lpjLMqTswWSFftuitwBNHb/ue3D4tnkuXxgsmyNk3TdvtW 2PUMavEX0GlOcmzGtZhHHbnM3jUoj0OAQd/hiiR7o5EKiHzyOph3H/GpH FpahiYOODAS44KOMH6CLveN34m037vRIKt+pNDc+Fde910SPRJrK5OHzk g==; X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="315418782" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="315418782" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Dec 2022 11:14:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="648443494" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="648443494" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by fmsmga007.fm.intel.com with ESMTP; 06 Dec 2022 11:14:45 -0800 From: Nicolas Chautru To: dev@dpdk.org, maxime.coquelin@redhat.com Cc: hernan.vargas@intel.com, Vipin.Varghese@amd.com, Nicolas Chautru Subject: [PATCH v2 1/3] test/bbdev: fix build issue with optional build flag Date: Tue, 6 Dec 2022 11:14:39 -0800 Message-Id: <20221206191441.12428-2-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20221206191441.12428-1-nicolas.chautru@intel.com> References: <20221206191441.12428-1-nicolas.chautru@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 Incorrect bbdev member name used in test code under RTE_BBDEV_OFFLOAD_COST build flag. Fixes: 4f08028c5e24 ("bbdev: expose queue related warning and status") Signed-off-by: Nicolas Chautru Reviewed-by: Maxime Coquelin --- app/test-bbdev/test_bbdev_perf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c index b285d3f3a7..1859952901 100644 --- a/app/test-bbdev/test_bbdev_perf.c +++ b/app/test-bbdev/test_bbdev_perf.c @@ -4933,8 +4933,8 @@ get_bbdev_queue_stats(uint16_t dev_id, uint16_t queue_id, stats->dequeued_count = q_stats->dequeued_count; stats->enqueue_err_count = q_stats->enqueue_err_count; stats->dequeue_err_count = q_stats->dequeue_err_count; - stats->enqueue_warning_count = q_stats->enqueue_warning_count; - stats->dequeue_warning_count = q_stats->dequeue_warning_count; + stats->enqueue_warn_count = q_stats->enqueue_warn_count; + stats->dequeue_warn_count = q_stats->dequeue_warn_count; stats->acc_offload_cycles = q_stats->acc_offload_cycles; return 0; From patchwork Tue Dec 6 19:14:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 120504 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 122F4A034C; Tue, 6 Dec 2022 20:15:00 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E1A3742D1C; Tue, 6 Dec 2022 20:14:50 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id E370940151 for ; Tue, 6 Dec 2022 20:14:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670354088; x=1701890088; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8zjl2mT4lgNfG8k1EevSNw6LtDhRYEu5+FKtOJPkWuk=; b=e4LhNhTTmMw7qK9QAsrSHYR4tqhX+4udymlOB5FQTe1tdR2tBUWFtQNF r/kznLNg0Z+2iFoR9HtUId92jJsB+w0kxGHUqrmvrX815brVBqIxC6lvZ nr4+6kHKOxaaqOjRxCCFxOYJvIdHlje7ZqQDoPD7TCrBD7uaGClDljsjR mDB+LVUoGipkFc9J0vMqQUqRbxCcD14aHcHvuBQA9yVDdP74YAUQ1ry/b kxrqBx/y5Ui+FWxbogwLvaSKmNdg/c2qr6jPLM+S3lDxFGK1AbufwrGVX 7EZ5d2JgUe88LHEyu7pb3jQF4YMwgdeNId7XbFZHrmgUyPdubDDnZUUyu w==; X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="315418787" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="315418787" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Dec 2022 11:14:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="648443498" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="648443498" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by fmsmga007.fm.intel.com with ESMTP; 06 Dec 2022 11:14:45 -0800 From: Nicolas Chautru To: dev@dpdk.org, maxime.coquelin@redhat.com Cc: hernan.vargas@intel.com, Vipin.Varghese@amd.com, Nicolas Chautru Subject: [PATCH v2 2/3] test/bbdev: fix build issue with optional build flag Date: Tue, 6 Dec 2022 11:14:40 -0800 Message-Id: <20221206191441.12428-3-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20221206191441.12428-1-nicolas.chautru@intel.com> References: <20221206191441.12428-1-nicolas.chautru@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 Missing implementation for offload test with FFT. Only build when the optional build flag RTE_BBDEV_OFFLOAD_COST is set. Fixes: 0acdb9866756 ("test/bbdev: add FFT operations cases") Signed-off-by: Nicolas Chautru Reviewed-by: Maxime Coquelin --- app/test-bbdev/test_bbdev_perf.c | 82 ++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c index 1859952901..b2e536b5e3 100644 --- a/app/test-bbdev/test_bbdev_perf.c +++ b/app/test-bbdev/test_bbdev_perf.c @@ -4940,6 +4940,88 @@ get_bbdev_queue_stats(uint16_t dev_id, uint16_t queue_id, return 0; } +static int +offload_latency_test_fft(struct rte_mempool *mempool, struct test_buffers *bufs, + struct rte_bbdev_fft_op *ref_op, uint16_t dev_id, + uint16_t queue_id, const uint16_t num_to_process, + uint16_t burst_sz, struct test_time_stats *time_st) +{ + int i, dequeued, ret; + struct rte_bbdev_fft_op *ops_enq[MAX_BURST], *ops_deq[MAX_BURST]; + uint64_t enq_start_time, deq_start_time; + uint64_t enq_sw_last_time, deq_last_time; + struct rte_bbdev_stats stats; + + for (i = 0, dequeued = 0; dequeued < num_to_process; ++i) { + uint16_t enq = 0, deq = 0; + + if (unlikely(num_to_process - dequeued < burst_sz)) + burst_sz = num_to_process - dequeued; + + rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz); + if (test_vector.op_type != RTE_BBDEV_OP_NONE) + copy_reference_fft_op(ops_enq, burst_sz, dequeued, + bufs->inputs, + bufs->hard_outputs, bufs->soft_outputs, + ref_op); + + /* Start time meas for enqueue function offload latency */ + enq_start_time = rte_rdtsc_precise(); + do { + enq += rte_bbdev_enqueue_fft_ops(dev_id, queue_id, + &ops_enq[enq], burst_sz - enq); + } while (unlikely(burst_sz != enq)); + + ret = get_bbdev_queue_stats(dev_id, queue_id, &stats); + TEST_ASSERT_SUCCESS(ret, + "Failed to get stats for queue (%u) of device (%u)", + queue_id, dev_id); + + enq_sw_last_time = rte_rdtsc_precise() - enq_start_time - + stats.acc_offload_cycles; + time_st->enq_sw_max_time = RTE_MAX(time_st->enq_sw_max_time, + enq_sw_last_time); + time_st->enq_sw_min_time = RTE_MIN(time_st->enq_sw_min_time, + enq_sw_last_time); + time_st->enq_sw_total_time += enq_sw_last_time; + + time_st->enq_acc_max_time = RTE_MAX(time_st->enq_acc_max_time, + stats.acc_offload_cycles); + time_st->enq_acc_min_time = RTE_MIN(time_st->enq_acc_min_time, + stats.acc_offload_cycles); + time_st->enq_acc_total_time += stats.acc_offload_cycles; + + /* give time for device to process ops */ + rte_delay_us(WAIT_OFFLOAD_US); + + /* Start time meas for dequeue function offload latency */ + deq_start_time = rte_rdtsc_precise(); + /* Dequeue one operation */ + do { + deq += rte_bbdev_dequeue_fft_ops(dev_id, queue_id, + &ops_deq[deq], enq); + } while (unlikely(deq == 0)); + + deq_last_time = rte_rdtsc_precise() - deq_start_time; + time_st->deq_max_time = RTE_MAX(time_st->deq_max_time, + deq_last_time); + time_st->deq_min_time = RTE_MIN(time_st->deq_min_time, + deq_last_time); + time_st->deq_total_time += deq_last_time; + + /* Dequeue remaining operations if needed*/ + while (burst_sz != deq) + deq += rte_bbdev_dequeue_fft_ops(dev_id, queue_id, + &ops_deq[deq], burst_sz - deq); + + rte_bbdev_fft_op_free_bulk(ops_enq, deq); + dequeued += deq; + } + + return i; +} + + static int offload_latency_test_dec(struct rte_mempool *mempool, struct test_buffers *bufs, struct rte_bbdev_dec_op *ref_op, uint16_t dev_id, From patchwork Tue Dec 6 19:14:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 120505 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 4AF1FA034C; Tue, 6 Dec 2022 20:15:05 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E0DF140151; Tue, 6 Dec 2022 20:14:51 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 20A4D40395 for ; Tue, 6 Dec 2022 20:14:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670354088; x=1701890088; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FvbmDZHrwroaS8v4LuYuQqdUFqNyGIhryNSp9b8hfFk=; b=K1TBYNV24VLw3/l7s0ITRIH1ZJeokrc8C7vKUjtbMi5mMVL6KUDcFs+5 4edY0okaW3Tu4tL8hHR4LxJ8BrfXJxVNcvZv4AepoUeQmivRxtDQ9Y9NX l53HUdFahtB7+p9eDLtqNKYkb2bVF1U2FfyW+voEnQexUvJdtB6vCrfVg pvFk7xe+b9eR1JxDblAOiVvvZHevFmlxUr1lXW6CiD4WTcKW/0s1URQih kEM0l9UIx2r3YA0A/WM/Mq+jJUTHSuo27OyjYYGk5pPdyESfe7735pi4r 8zayB7zegvQwttUeLylKa6v4Lm431uP5XDPOC1H5um0frWGaN9buHkMb/ Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="315418790" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="315418790" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Dec 2022 11:14:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10553"; a="648443501" X-IronPort-AV: E=Sophos;i="5.96,223,1665471600"; d="scan'208";a="648443501" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by fmsmga007.fm.intel.com with ESMTP; 06 Dec 2022 11:14:46 -0800 From: Nicolas Chautru To: dev@dpdk.org, maxime.coquelin@redhat.com Cc: hernan.vargas@intel.com, Vipin.Varghese@amd.com, Nicolas Chautru Subject: [PATCH v2 3/3] test/bbdev: explicit check for allocation failure Date: Tue, 6 Dec 2022 11:14:41 -0800 Message-Id: <20221206191441.12428-4-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20221206191441.12428-1-nicolas.chautru@intel.com> References: <20221206191441.12428-1-nicolas.chautru@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 Adding check for error on return of the rte_bbdev_*_op_alloc_bulk calls in bbdev-test. Signed-off-by: Nicolas Chautru --- app/test-bbdev/test_bbdev_perf.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_perf.c index b2e536b5e3..a922d69ada 100644 --- a/app/test-bbdev/test_bbdev_perf.c +++ b/app/test-bbdev/test_bbdev_perf.c @@ -4958,7 +4958,8 @@ offload_latency_test_fft(struct rte_mempool *mempool, struct test_buffers *bufs, if (unlikely(num_to_process - dequeued < burst_sz)) burst_sz = num_to_process - dequeued; - rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz); + ret = rte_bbdev_fft_op_alloc_bulk(mempool, ops_enq, burst_sz); + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq); if (test_vector.op_type != RTE_BBDEV_OP_NONE) copy_reference_fft_op(ops_enq, burst_sz, dequeued, bufs->inputs, @@ -5040,7 +5041,8 @@ offload_latency_test_dec(struct rte_mempool *mempool, struct test_buffers *bufs, if (unlikely(num_to_process - dequeued < burst_sz)) burst_sz = num_to_process - dequeued; - rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz); + ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz); + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq); if (test_vector.op_type != RTE_BBDEV_OP_NONE) copy_reference_dec_op(ops_enq, burst_sz, dequeued, bufs->inputs, @@ -5125,7 +5127,8 @@ offload_latency_test_ldpc_dec(struct rte_mempool *mempool, if (unlikely(num_to_process - dequeued < burst_sz)) burst_sz = num_to_process - dequeued; - rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz); + ret = rte_bbdev_dec_op_alloc_bulk(mempool, ops_enq, burst_sz); + TEST_ASSERT_SUCCESS(ret, "Allocation failed for %d ops", ops_enq); if (test_vector.op_type != RTE_BBDEV_OP_NONE) copy_reference_ldpc_dec_op(ops_enq, burst_sz, dequeued, bufs->inputs,