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 9AB3EA04C7; Tue, 15 Sep 2020 11:51:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E0EB21C001; Tue, 15 Sep 2020 11:51:06 +0200 (CEST) Received: from GBR01-CWL-obe.outbound.protection.outlook.com (mail-eopbgr110116.outbound.protection.outlook.com [40.107.11.116]) by dpdk.org (Postfix) with ESMTP id EC2841C000 for ; Tue, 15 Sep 2020 11:51:04 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A2yvCM/L8D24Nr7rjvKDDel+Jnxo2StrvZAESnvh9OOgl5xRpG7MdvQMS38K/enEjwJARgL/2WmNmWuZFovUVd3zNWOXkaUbUKYfS03iScFc/Xt1PPhRV1gdZp5vLX2L3AeIfTBtB2WOpvtAqVHXbVRmgMktLgergXb1grjXfRaQ0VIKTpqubPcSs79zNThr10s0XSE9FRWb10yH4FTZPd0ubRZt+2RRi+WtdYYqpm1Z2RsojNBgamjRjSbzmSeq25luI2ke2OvOAwzgBk3YxJ3P3Bz0Bf6jfWkyxYbhPupRBqi1TD+z1uVK5YgQ7nDpQuSjOodKE312RBPNjZYsNg== 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=gGjnxGGDQUXQ1vXnaVHyNjaY1eBi7xFeOZ5TobzYVNw=; b=NL/Ix/csyLAGgiw/sxO4XtMdjdN7WJep62Xs6cpF6yEZhFtuobFgMuzGCzPEHagvO8VTOui1fk13Y6ALVoXTywMxuWK+7xti2sfCMDVJj5P2wdjIhlI2bSlEBPG45j3R05Tuf3/ZQocgPS2jlJWgIgth6n5r9W3SnCXnqH9pJqzLPAKPvd0FYGLVFjWDiA6dI7SQF8v40AQcmY6a/DrJaZPs5pdhBCiLHW6yzyy+/bK/m0Ge3yEpd9h9hpN1b3WbDGhttl6HJmcyhaGjeae6c3i4tCOGqeXBh6IMOak9AxXk1i4jZn8BgOjXG8B3Er8KlWc63SbgRpezbpGLrTW9SA== 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=gGjnxGGDQUXQ1vXnaVHyNjaY1eBi7xFeOZ5TobzYVNw=; b=ThJD+iFnps7haiCSAg6VagFTmN7pUp7jEJ/Hko1z3bZRqOGKn8Rch/49ZDOcleLittJmP9p97kSsm7T1Uei0kdl0OHQ7/rzqDhfgz+Zr7QefvPhMS9CszdUe/ZP0FNExjSkSjrI6/8+LOVoeQWUMBO4D3izNqV5/W0MyXNlxVnE= Received: from CWXP265MB0824.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:2f::23) by CWXP265MB0312.GBRP265.PROD.OUTLOOK.COM (2603:10a6:401::15) 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 09:49:49 +0000 Received: from CWXP265MB0824.GBRP265.PROD.OUTLOOK.COM ([fe80::d981:378e:5380:8c2a]) by CWXP265MB0824.GBRP265.PROD.OUTLOOK.COM ([fe80::d981:378e:5380:8c2a%7]) with mapi id 15.20.3370.019; Tue, 15 Sep 2020 09:49:49 +0000 From: Aidan Goddard To: Nicolas Chautru , "dev@dpdk.org" , "akhil.goyal@nxp.com" CC: "bruce.richardson@intel.com" , Dave Burley Thread-Topic: [dpdk-dev] [PATCH v3 1/7] app/bbdev: add explicit ut for latency vs validation Thread-Index: AQHWdbzQK2sexcT++EuWT9cPF52D1Klpn1aU Date: Tue, 15 Sep 2020 09:49:49 +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: [80.7.47.78] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4e486713-b757-4574-8351-08d8595cafdc x-ms-traffictypediagnostic: CWXP265MB0312: 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: QFZI4zd9dR81vJ0qPsHHehRxWRJKLxwoFzw16oifzZzi7hRJrNkXfz93j8Sa3ocdEkG9fJVB8kIIhPhVnbC7ARqsNxrsITYFTxL+1LBwUuV9LnWCq2QtKtbrIUGzSEVBVxAvn9kocDQ8W/5dRIisDKKazUynIa8aobJTsQf8lUUiNCXu0X3Sj8f+lv64ZdYIdfzY7YQHfJCxeVOfONkedIoy8T9GRd0VQzV0bgWX+kElfywQKbU3LK/ITFoqYN0u2Rebig5Aq8lXM1ogFxzsiGkSYLVdT68SpCVOZ0Gohomt/Y3PsSjmWie+x3XH+A6+e/8zRt3ZSf3qeYZZq9Vjcg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CWXP265MB0824.GBRP265.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(39840400004)(346002)(396003)(136003)(376002)(7696005)(86362001)(83380400001)(316002)(186003)(26005)(53546011)(478600001)(44832011)(54906003)(6506007)(110136005)(107886003)(33656002)(4326008)(9686003)(55016002)(8936002)(64756008)(71200400001)(66446008)(5660300002)(66556008)(52536014)(2906002)(66946007)(76116006)(66476007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: g7SL5fTWsC199o0TolQcZ/VywXUIUCCz0/Tnt3Y/jNMdyXrzhWfydmdQFS1qIUTUxW27u26Gc4bKqrSFzYVzE2JCeXOAp4dQISkeMMg3tsVpq6z+0TaviNvB53vxUqHpvQwZxRBEXjWya6k1TMlSpasFlstzM+wrjgR6Wee7yfasBLKzT1ug1YZ+k3NSjSNiP5Wjv6iZRV8z0znZOroco5sFeVsQZjMnXY/IVHJ9K65XhPAp14ypFMtXMO7NADkG/nCLdbxweQqYdXN6i3sn2UImZhzsXujuqU6isyKBnxdHqZhb9hWyIe8Y1kZ2ONvTl3o7Nwmk27gtf0p5X/RnJL5CPTwjN/+FCVgcM9Fv0Id2GvdFNynQz1BNjicKaapLmWpiVkdGkAs1DbLHF2kczknLoULkuPneInE7pMOk1hPPSun6RKBUd/wlwp/viwv9EfIOfY0JhU5cSC500O70eUFrfxJkeK18mJ26AoLKXnq7l3jTgfqq8/f8+Vryv7bNVcerU2Vv1/421yudnKf9j5VqQpl6Li5FmVaD2PgowRJYuXXwEQSbiAOoCRat4Bqr7cdv30+zbpjySI5nT/9yjJf+UUAZiqStxrI5UH8q4h/bkCeyiC/ope+cFiaKoeTF2X6r4czUOWqLh1sd+3VDvg== 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: CWXP265MB0824.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 4e486713-b757-4574-8351-08d8595cafdc X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2020 09:49:49.4123 (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: M2DTf0dN8C9f+AnMQElJG/GLoLEn+7nJEmIMetzpsxgT9zKGkzCTw+byh02AZq1+/nVLWu67HjZekQLSZzuwn+fdOdijDDfhDcNHY4BHgfw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWXP265MB0312 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: Aidan Goddard =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=