From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id CCE54A04C7; Tue, 15 Sep 2020 12:01:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9DF3F1BE8E; Tue, 15 Sep 2020 12:01:25 +0200 (CEST) Received: from GBR01-LO2-obe.outbound.protection.outlook.com (mail-eopbgr100110.outbound.protection.outlook.com [40.107.10.110]) by dpdk.org (Postfix) with ESMTP id CC003DE0 for ; Tue, 15 Sep 2020 12:01:24 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OtSajRi6f1v1yVZEBrX/bU7hxcfiVjoyZsYUK4OolBPcUHBDg+R+8cZcFlzR0fmiDmMbz3ZS2no0Mjlg2WkNm9MobtAwJRtGD5q/cQQHDWXezMgJ+7MmKlbisF7A1xNGqjY1434DVbG+RRiSqXwleJRTuziYossZgT6fy3likCdnrKTnYOYOMqpi98txv5gb2U5ASdtqm49FegeOrSFhn+Y+vgnB0UOt1qDuONJRPTuoM04cf/VUzQu1/X8OIhwRB3vj+0VH4s81xANnj2mnrLcgAyz3blokfrNTT5WHJy34gWETNpQPgHLuRZRs/hfCZMzILiQVLq+g+54WzoRqGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Di5FVGlUxmNBso3MO7/icJMO1Jz09L65pl3kA+tSH4A=; b=Qvaz5fz7RWPA61O+TIihBE9Ti1AL/iv/zfhWmqhJEiFtJAYNZdDOnGkcPQh9OAQEVeN0NL3mRr7RGqvIddq1M8iBf+MH84nsFqAbto0/YeYiTXWtfcMRsad0bTmoCJbz/Qk1k99aZoDlXtRXvxgPK8zVAg99nXIIu0IM8VPYBjWvdK1JqavTbYMRTLVOSEAMoYBt1Yap8aF9Ac6weh9lRMcFYGaT53fg9YVzDzbidCSdiTLtlcLxTkjTypgZXJ2mBaoZAXZtZMrV4Os2FUmKOLkd/4GI24qhEpJTazFCrsFhM0Na3duLF26n4rEIywUCO81Holk7m0ko16Sp2QIleg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=accelercomm.com; dmarc=pass action=none header.from=accelercomm.com; dkim=pass header.d=accelercomm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=accelercomm.onmicrosoft.com; s=selector1-accelercomm-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Di5FVGlUxmNBso3MO7/icJMO1Jz09L65pl3kA+tSH4A=; b=VTl36T7mtorZ153ZAjJPb4UEmtgVJy55HSdJw608YYlWd2DBzWCDZnNDTNK/Vlk1qF/gO7y4pA89hFzqJOH6/2aPU+NUQV2k2r6tcVRWNYdMuPNpwBnfbkYdoA83HC8Lt8XSVf0IXMqUb1DZ3jVLU2TImBCp6BxtmRMk03Yb8h0= Received: from LOYP265MB2174.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:114::11) by LO3P265MB2073.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:109::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Tue, 15 Sep 2020 10:01:22 +0000 Received: from LOYP265MB2174.GBRP265.PROD.OUTLOOK.COM ([fe80::fd8e:7ab4:840b:fbcb]) by LOYP265MB2174.GBRP265.PROD.OUTLOOK.COM ([fe80::fd8e:7ab4:840b:fbcb%3]) with mapi id 15.20.3370.019; Tue, 15 Sep 2020 10:01:22 +0000 From: Dave Burley To: Nicolas Chautru , "dev@dpdk.org" , "akhil.goyal@nxp.com" CC: "bruce.richardson@intel.com" , Aidan Goddard Thread-Topic: [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation Thread-Index: AQHWdbzOhb0ycF6ts0agWgcwwtfExqlpoq10 Date: Tue, 15 Sep 2020 10:01:22 +0000 Message-ID: References: <1597795557-39612-1-git-send-email-nicolas.chautru@intel.com>, <1597795557-39612-2-git-send-email-nicolas.chautru@intel.com> In-Reply-To: <1597795557-39612-2-git-send-email-nicolas.chautru@intel.com> Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=accelercomm.com; x-originating-ip: [2a00:23c4:cf2d:a200:6023:b810:2491:c6a9] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aacfb0ec-1222-4268-601d-08d8595e4ce8 x-ms-traffictypediagnostic: LO3P265MB2073: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:54; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PaW5X/fhfaybEHfCul0mnRSli5FU49Vnj9NEyVEOzwtwXI3LlxcsFV3SejXP3ZMVXKhz0evvCgrrMnmLY57WkQCoj0e4kx5jC7zt4HoV6SOiD1k15uShGD+Vf9Ilbq9/vIuSuJLE1UnbrpkqAmBOsGSID1ibihRW+bEm/2OPiLCi+PF61KmpyUaIKHvCKP+UHaF1puulVPpeEgJxVEVpa2qB7aN3gQ0EZTnzTKhdUcx33enFYnEF3t/Hu8RmLJSxbmaQqwno16WgDVBx5LuYlchLGjZBElupO4p2ZH6L9y4kmvwaJhwglCsRSMf4qw/fYnlXem274ZEreT3Ju/MzQZjFOcHitBR+dwtnKc05dhinwaicWTyh3uG71nyFf1Gk x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:LOYP265MB2174.GBRP265.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(39840400004)(396003)(346002)(366004)(136003)(376002)(66946007)(66476007)(33656002)(83380400001)(55016002)(86362001)(9686003)(44832011)(5660300002)(52536014)(186003)(66446008)(64756008)(76116006)(71200400001)(54906003)(53546011)(6506007)(316002)(110136005)(107886003)(7696005)(66556008)(2906002)(8936002)(478600001)(4326008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: UAx7NQE97pNu3R6M+JVxoqYaD5zgmVrTao9PA8/AA7l9WO6f+gzvKwIP5EJKsZWk1/++B37FYMpM4f5oznKkDmhHKdu1iQhHWU5+oLfwoI7I49mBvP9hRvMmy6OuApRaEswasWYHH8TXAa6AFEYRPYSZzx3lp8Pm8pYQEOazIwMtgjug48Fas4H/LiCHgJPBis61gpxlHZ418nRfsUP5DIFzwlJsF05cRoH9iyG8VZvaGnkL0IsUnVtyZ9PxvmZVbWZLM6hKwxyt64XwGqubYO5F4Za6FgeYG1JRC4tIDfDETJP1CcexgDstqTgQQpG8CZu0hLhXyw7qjFVjLvAFm7K/H3BEwy5KojF4NHLDKk0SHuZTERul9fe9qU44Q9O8hxyzuhZoqUwiXFU18/qqZmw//OexHcYlKsKj/wBX3f6+XaXgI7sp+R5PY6jMczp7y4385bjJKfdqvhUuTTTZYBx4TTN1hzF11OIeKQ1vJ6Scv8ufxzJd7kgfGfzalXPi2Qb17XWkfnWjEqWU/mqB0PaY0YxZLRoMfVgNmeckRPAYPdTzfjtwOi6cXjQDT2iojlpa/WoJ5SfRHj9E/VpsY7jLcNxbOblYlRLBp7JY6Wk87HdevAWrrxn/dz/efTNWOaDCYGmundCJrPowyDgqau5+SJHPNkNi3aMrE1cVYTJj7deDTV5dUbOH/WGKaihoVwL2KwHwpkeqd9YI4lcWNA== Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: accelercomm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LOYP265MB2174.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: aacfb0ec-1222-4268-601d-08d8595e4ce8 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2020 10:01:22.4572 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a4aefd0f-62ef-4258-bd2b-0b6f6112bf2c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: M22NyuApUegJ46d4wcju+zpx5XL65assIPiBw3MxQHZA3TX37N8MC+iLC0GBt+csebxyrM3Ixdnu4nQqiN4aLmP9Eh1V+2sAiLqh/TVldDg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO3P265MB2073 Subject: Re: [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Acked-by: Dave Burley =0A= =0A= =0A= =0A= From: dev on behalf of Nicolas Chautru =0A= Sent: 19 August 2020 01:05=0A= To: dev@dpdk.org ; akhil.goyal@nxp.com = =0A= Cc: bruce.richardson@intel.com ; Nicolas Chautr= u =0A= Subject: [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency v= s validation =0A= =A0=0A= Adding explicit different ut when testing for validation=0A= or latency (early termination enabled or not).=0A= =0A= Signed-off-by: Nicolas Chautru =0A= ---=0A= =A0app/test-bbdev/test_bbdev_perf.c | 92 ++++++++++++++++++++++++++++++++++= ++++--=0A= =A01 file changed, 88 insertions(+), 4 deletions(-)=0A= =0A= diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test-bbdev/test_bbdev_p= erf.c=0A= index 45c0d62..1319afd 100644=0A= --- a/app/test-bbdev/test_bbdev_perf.c=0A= +++ b/app/test-bbdev/test_bbdev_perf.c=0A= @@ -3928,12 +3928,14 @@ typedef int (test_case_function)(struct active_devi= ce *ad,=0A= =A0=A0=A0=A0=A0=A0=A0=A0 return i;=0A= =A0}=0A= =A0=0A= +/* Test case for latency/validation for LDPC Decoder */=0A= =A0static int=0A= =A0latency_test_ldpc_dec(struct rte_mempool *mempool,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 struct test_buffers *bufs,= struct rte_bbdev_dec_op *ref_op,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 int vector_mask, uint16_t = dev_id, uint16_t queue_id,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 const uint16_t num_to_proc= ess, uint16_t burst_sz,=0A= -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 uint64_t *total_time, uint64_t = *min_time, uint64_t *max_time)=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 uint64_t *total_time, uint64_t = *min_time, uint64_t *max_time,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 bool disable_et)=0A= =A0{=0A= =A0=A0=A0=A0=A0=A0=A0=A0 int ret =3D TEST_SUCCESS;=0A= =A0=A0=A0=A0=A0=A0=A0=A0 uint16_t i, j, dequeued;=0A= @@ -3955,7 +3957,7 @@ typedef int (test_case_function)(struct active_device= *ad,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 "rte_bbdev_dec_op_alloc_bulk() failed");=0A= =A0=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 /* For latency tests we ne= ed to disable early termination */=0A= -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (check_bit(ref_op->ldpc_dec.= op_flags,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (disable_et && check_bit(ref= _op->ldpc_dec.op_flags,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE))=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 re= f_op->ldpc_dec.op_flags -=3D=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 RTE_BBDEV_LDPC_ITERATION_STOP= _ENABLE;=0A= @@ -4177,7 +4179,7 @@ typedef int (test_case_function)(struct active_device= *ad,=0A= =A0=A0=A0=A0=A0=A0=A0=A0 TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type= : %u", op_type);=0A= =A0=0A= =A0=A0=A0=A0=A0=A0=A0=A0 printf("+ ----------------------------------------= --------------- +\n");=0A= -=A0=A0=A0=A0=A0=A0 printf("=3D=3D test: validation/latency\ndev: %s, burst= size: %u, num ops: %u, op type: %s\n",=0A= +=A0=A0=A0=A0=A0=A0 printf("=3D=3D test: latency\ndev: %s, burst size: %u, = num ops: %u, op type: %s\n",=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 in= fo.dev_name, burst_sz, num_to_process, op_type_str);=0A= =A0=0A= =A0=A0=A0=A0=A0=A0=A0=A0 if (op_type =3D=3D RTE_BBDEV_OP_TURBO_DEC)=0A= @@ -4199,7 +4201,83 @@ typedef int (test_case_function)(struct active_devic= e *ad,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 iter =3D latency_test_ldpc= _dec(op_params->mp, bufs,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 op_params->ref_dec_op, op_params->vector_mask,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 ad->dev_id, queue_id, num_to_process,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 burst_sz, &total_time, &min_time, &max_time,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 true);=0A= +=A0=A0=A0=A0=A0=A0 else=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 iter =3D latency_test_enc(op_pa= rams->mp, bufs,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 op_params->ref_enc_op,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 ad->dev_id, queue_id,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 num_to_process, burst_sz, &total= _time,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 &min_time, &max_time);=0A= +=0A= +=A0=A0=A0=A0=A0=A0 if (iter <=3D 0)=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 return TEST_FAILED;=0A= +=0A= +=A0=A0=A0=A0=A0=A0 printf("Operation latency:\n"=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "\tavg:= %lg cycles, %lg us\n"=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "\tmin:= %lg cycles, %lg us\n"=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "\tmax:= %lg cycles, %lg us\n",=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (double= )total_time / (double)iter,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (double= )(total_time * 1000000) / (double)iter /=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (double= )rte_get_tsc_hz(), (double)min_time,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (double= )(min_time * 1000000) / (double)rte_get_tsc_hz(),=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (double= )max_time, (double)(max_time * 1000000) /=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 (double= )rte_get_tsc_hz());=0A= +=0A= +=A0=A0=A0=A0=A0=A0 return TEST_SUCCESS;=0A= +}=0A= +=0A= +static int=0A= +validation_test(struct active_device *ad,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 struct test_op_params *op_param= s)=0A= +{=0A= +=A0=A0=A0=A0=A0=A0 int iter;=0A= +=A0=A0=A0=A0=A0=A0 uint16_t burst_sz =3D op_params->burst_sz;=0A= +=A0=A0=A0=A0=A0=A0 const uint16_t num_to_process =3D op_params->num_to_pro= cess;=0A= +=A0=A0=A0=A0=A0=A0 const enum rte_bbdev_op_type op_type =3D test_vector.op= _type;=0A= +=A0=A0=A0=A0=A0=A0 const uint16_t queue_id =3D ad->queue_ids[0];=0A= +=A0=A0=A0=A0=A0=A0 struct test_buffers *bufs =3D NULL;=0A= +=A0=A0=A0=A0=A0=A0 struct rte_bbdev_info info;=0A= +=A0=A0=A0=A0=A0=A0 uint64_t total_time, min_time, max_time;=0A= +=A0=A0=A0=A0=A0=A0 const char *op_type_str;=0A= +=0A= +=A0=A0=A0=A0=A0=A0 total_time =3D max_time =3D 0;=0A= +=A0=A0=A0=A0=A0=A0 min_time =3D UINT64_MAX;=0A= +=0A= +=A0=A0=A0=A0=A0=A0 TEST_ASSERT_SUCCESS((burst_sz > MAX_BURST),=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "BURST_= SIZE should be <=3D %u", MAX_BURST);=0A= +=0A= +=A0=A0=A0=A0=A0=A0 rte_bbdev_info_get(ad->dev_id, &info);=0A= +=A0=A0=A0=A0=A0=A0 bufs =3D &op_params->q_bufs[GET_SOCKET(info.socket_id)]= [queue_id];=0A= +=0A= +=A0=A0=A0=A0=A0=A0 op_type_str =3D rte_bbdev_op_type_str(op_type);=0A= +=A0=A0=A0=A0=A0=A0 TEST_ASSERT_NOT_NULL(op_type_str, "Invalid op type: %u"= , op_type);=0A= +=0A= +=A0=A0=A0=A0=A0=A0 printf("+ ---------------------------------------------= ---------- +\n");=0A= +=A0=A0=A0=A0=A0=A0 printf("=3D=3D test: validation\ndev: %s, burst size: %= u, num ops: %u, op type: %s\n",=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 info.de= v_name, burst_sz, num_to_process, op_type_str);=0A= +=0A= +=A0=A0=A0=A0=A0=A0 if (op_type =3D=3D RTE_BBDEV_OP_TURBO_DEC)=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 iter =3D latency_test_dec(op_pa= rams->mp, bufs,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 op_params->ref_dec_op, op_params->vector_mask,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 ad->dev_id, queue_id, num_to_process,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0 burst_sz, &total_time, &min_time, &max_time);=0A= +=A0=A0=A0=A0=A0=A0 else if (op_type =3D=3D RTE_BBDEV_OP_TURBO_ENC)=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 iter =3D latency_test_enc(op_pa= rams->mp, bufs,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 op_params->ref_enc_op, ad->dev_id, queue_id,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 num_to_process, burst_sz, &total_time,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 &min_time, &max_time);=0A= +=A0=A0=A0=A0=A0=A0 else if (op_type =3D=3D RTE_BBDEV_OP_LDPC_ENC)=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 iter =3D latency_test_ldpc_enc(= op_params->mp, bufs,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 op_params->ref_enc_op, ad->dev_id, queue_id,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 num_to_process, burst_sz, &total_time,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 &min_time, &max_time);=0A= +=A0=A0=A0=A0=A0=A0 else if (op_type =3D=3D RTE_BBDEV_OP_LDPC_DEC)=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 iter =3D latency_test_ldpc_dec(= op_params->mp, bufs,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 op_params->ref_dec_op, op_params->vector_mask,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 ad->dev_id, queue_id, num_to_process,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 burst_sz, &total_time, &min_time, &max_time,=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0 false);=0A= =A0=A0=A0=A0=A0=A0=A0=A0 else=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 iter =3D latency_test_enc(= op_params->mp, bufs,=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 op_params->ref_enc_op,=0A= @@ -4859,6 +4937,12 @@ typedef int (test_case_function)(struct active_devic= e *ad,=0A= =A0}=0A= =A0=0A= =A0static int=0A= +validation_tc(void)=0A= +{=0A= +=A0=A0=A0=A0=A0=A0 return run_test_case(validation_test);=0A= +}=0A= +=0A= +static int=0A= =A0interrupt_tc(void)=0A= =A0{=0A= =A0=A0=A0=A0=A0=A0=A0=A0 return run_test_case(throughput_test);=0A= @@ -4889,7 +4973,7 @@ typedef int (test_case_function)(struct active_device= *ad,=0A= =A0=A0=A0=A0=A0=A0=A0=A0 .setup =3D testsuite_setup,=0A= =A0=A0=A0=A0=A0=A0=A0=A0 .teardown =3D testsuite_teardown,=0A= =A0=A0=A0=A0=A0=A0=A0=A0 .unit_test_cases =3D {=0A= -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 TEST_CASE_ST(ut_setup, ut_teard= own, latency_tc),=0A= +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 TEST_CASE_ST(ut_setup, ut_teard= own, validation_tc),=0A= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 TEST_CASES_END() /**< NULL= terminate unit test array */=0A= =A0=A0=A0=A0=A0=A0=A0=A0 }=0A= =A0};=0A= -- =0A= 1.8.3.1=0A=