From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 028EAA04B5; Sun, 10 Jan 2021 12:10:57 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 60764140F85; Sun, 10 Jan 2021 12:10:32 +0100 (CET) Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by mails.dpdk.org (Postfix) with ESMTP id ADE2D140F6B for ; Sun, 10 Jan 2021 12:10:30 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from ophirmu@nvidia.com) with SMTP; 10 Jan 2021 13:10:25 +0200 Received: from nvidia.com (pegasus05.mtr.labs.mlnx [10.210.16.100]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 10ABAOOo032562; Sun, 10 Jan 2021 13:10:25 +0200 From: Ophir Munk To: dev@dpdk.org Cc: Ori Kam , Thomas Monjalon , Ophir Munk Date: Sun, 10 Jan 2021 11:10:22 +0000 Message-Id: <20210110111023.9525-6-ophirmu@nvidia.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20210110111023.9525-1-ophirmu@nvidia.com> References: <20201220104148.13961-2-ophirmu@nvidia.com> <20210110111023.9525-1-ophirmu@nvidia.com> Subject: [dpdk-dev] [PATCH v3 5/6] app/regex: support performance measurements per QP 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 Sender: "dev" Up to this commit measuring the parsing elapsed time and Giga bits per second performance was done on the aggregation of all QPs (per core). This commit separates the time measurements per individual QP. Signed-off-by: Ophir Munk Acked-by: Ori Kam --- app/test-regex/main.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/app/test-regex/main.c b/app/test-regex/main.c index 2948d3e..2fce55d 100644 --- a/app/test-regex/main.c +++ b/app/test-regex/main.c @@ -48,6 +48,8 @@ struct qp_params { struct rte_regex_ops **ops; struct job_ctx *jobs_ctx; char *buf; + time_t start; + time_t end; }; struct qps_per_lcore { @@ -324,8 +326,6 @@ run_regex(void *args) unsigned long d_ind = 0; struct rte_mbuf_ext_shared_info shinfo; int res = 0; - time_t start; - time_t end; double time; struct rte_mempool *mbuf_mp; struct qp_params *qp; @@ -418,9 +418,10 @@ run_regex(void *args) qp->buf = buf; qp->total_matches = 0; + qp->start = 0; + qp->end = 0; } - start = clock(); for (i = 0; i < nb_iterations; i++) { for (qp_id = 0; qp_id < nb_qps; qp_id++) { qp = &qps[qp_id]; @@ -431,6 +432,8 @@ run_regex(void *args) update = false; for (qp_id = 0; qp_id < nb_qps; qp_id++) { qp = &qps[qp_id]; + if (!qp->start) + qp->start = clock(); if (qp->total_dequeue < actual_jobs) { struct rte_regex_ops ** cur_ops_to_enqueue = qp->ops + @@ -461,22 +464,31 @@ run_regex(void *args) qp->total_enqueue - qp->total_dequeue); update = true; + } else { + if (!qp->end) + qp->end = clock(); } + } } while (update); } - end = clock(); - time = ((double)end - start) / CLOCKS_PER_SEC; - printf("Job len = %ld Bytes\n", job_len); - printf("Time = %lf sec\n", time); - printf("Perf = %lf Gbps\n", - (((double)actual_jobs * job_len * nb_iterations * 8) / time) / - 1000000000.0); + for (qp_id = 0; qp_id < nb_qps; qp_id++) { + qp = &qps[qp_id]; + time = ((double)qp->end - qp->start) / CLOCKS_PER_SEC; + printf("Core=%u QP=%u\n", rte_lcore_id(), qp_id + qp_id_base); + printf("Job len = %ld Bytes\n", job_len); + printf("Time = %lf sec\n", time); + printf("Perf = %lf Gbps\n\n", + (((double)actual_jobs * job_len * + nb_iterations * 8) / time) / + 1000000000.0); + } if (rgxc->perf_mode) goto end; for (qp_id = 0; qp_id < nb_qps; qp_id++) { - printf("\n############ QP id=%u ############\n", qp_id); + printf("\n############ Core=%u QP=%u ############\n", + rte_lcore_id(), qp_id + qp_id_base); qp = &qps[qp_id]; /* Log results per job. */ for (d_ind = 0; d_ind < qp->total_dequeue; d_ind++) { -- 2.8.4