From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6F0D0A0A05; Wed, 20 Jan 2021 08:20:12 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4CEFE140D67; Wed, 20 Jan 2021 08:20:12 +0100 (CET) Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com [216.228.121.65]) by mails.dpdk.org (Postfix) with ESMTP id 525BF140D4B for ; Wed, 20 Jan 2021 08:20:10 +0100 (CET) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 19 Jan 2021 23:20:09 -0800 Received: from HQMAIL105.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 19 Jan 2021 23:20:09 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 19 Jan 2021 23:20:09 -0800 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 20 Jan 2021 07:19:54 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.102) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Wed, 20 Jan 2021 07:19:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TxgPySuGErSV2/Y+af5gcdWlmHtV6ngCygKIu2JiNzQykZqkHCXaTcwUW7n2XOJusmCmnXJyFAwhFNjlwWA84Fly9C+mNahL+ZDGThN8MRCPZQoqZPa0+p5/4WOnyNAJbR537S0RfccvZYhzJFkXfYk+cNalJOPfiem3DCXVa+nYiNceYk9lzj4IPlrJHqP8ipxIMHJod5ALOzdc2jlqPUEB0kXgiAicq5YE7RpHQmGjvaQ8HZyLS2sSG/JBZMPA8yM3xGYhUvLKVpwHcm4FuvxpuPypzJSIf9JgGoaZNcw6TRbsHfCmAKKCHDM9G87Ly/d6zYIidoyralilqG90Yw== 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=HS9KF6ibP+R3JVMBlij/bcuIXOfSfJpT779DZ6+Ln94=; b=E7xtlaifWklQEjbS+S9kiiHVkAcEX5VDpubT1z3UiwkXYbuoH/VQFVMJn7e9hYQunNsZhIsAcmY+zIkfDFdXUdZ5RxtMSjWTCgBzu2zy64sZxJhLHhjDHkeW/WHa9z9N0FcH6Y0BL9LqfPzFiVmxyA5BWvt6anPmpRQ6uQciAeW9TqxOid0qr7IqmIcAy8qoh1yIGTqXnSHTCUGdtQotloP2crwfovQdKYOIb8xraS4RFJiHYU4Nw/QRfs6IDtgIgV+oGgnZeVdgKBFCboUKpe+cJGdmgXDr+6gpiNAsUQ3LBVHfcf9ehthj84YoUfFI4qs/6S2GIivJ7kmOJxX12Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from MW2PR12MB2492.namprd12.prod.outlook.com (2603:10b6:907:8::19) by MWHPR12MB1215.namprd12.prod.outlook.com (2603:10b6:300:d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.10; Wed, 20 Jan 2021 07:19:52 +0000 Received: from MW2PR12MB2492.namprd12.prod.outlook.com ([fe80::680b:7b85:ef35:433b]) by MW2PR12MB2492.namprd12.prod.outlook.com ([fe80::680b:7b85:ef35:433b%6]) with mapi id 15.20.3763.014; Wed, 20 Jan 2021 07:19:52 +0000 From: Matan Azrad To: Akhil Goyal , "dev@dpdk.org" CC: NBU-Contact-Thomas Monjalon , Ashish Gupta , Fiona Trahe Thread-Topic: [PATCH v2 10/10] compress/mlx5: add the supported capabilities Thread-Index: AQHW6cfGXWdqssZ/m0qxIvdukYfl8KovRJQAgADdZ/A= Date: Wed, 20 Jan 2021 07:19:52 +0000 Message-ID: References: <1610373560-253158-1-git-send-email-matan@nvidia.com> <1610554690-411627-1-git-send-email-matan@nvidia.com> <1610554690-411627-11-git-send-email-matan@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [77.127.111.97] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0274d32a-f0c7-47c9-ee01-08d8bd13c7cb x-ms-traffictypediagnostic: MWHPR12MB1215: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cToKA9MbocUqAohjCE2UINyhU8kppTCiuzbCu1AqseMsKZkB8NHyNHASPB/57wMqyJCXtm1goWKJooUgGFIVYTDCPwgZkWjradDju9XhZyQglb5TAy/irsX1yhj62p6aCpYQa6qHV3QsSOdXaHnL0ZR0yUYVSCp75VTY04ci96yQ+Q0Lxqfl5norD6V3beceAKqRGU6hgwYWx4VMdNp65soFwoZc0zlTXFx3NDnkzUtmkiLn/6Azd0PTQUxYvQgV6v6rAI23js/EclXEqeblpuE8Z/AATf04yTPhZzsDjP+FybgckpWwx7tVvnYj3crYx7zbfpBKd0ziBkey+HwV+YWIvFt6p1A/QtWAFnVxvGtOJFUpkZZuGtpDzl+A8Mm8f/v296r6K9JG8ddsmaIUnV2C6X8ajNmT8sS2WDQNX3g= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB2492.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39860400002)(376002)(366004)(136003)(346002)(55016002)(33656002)(66556008)(8936002)(8676002)(26005)(4326008)(9686003)(86362001)(966005)(83380400001)(2906002)(478600001)(45080400002)(6506007)(186003)(66476007)(7696005)(76116006)(66946007)(316002)(66446008)(52536014)(71200400001)(110136005)(64756008)(5660300002)(54906003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?+KQcuveshACCgljFREfMOKBRYKQ0QudTfusB9K7U3oRI6wFy2ig9w/q552bs?= =?us-ascii?Q?yN6lq7gt3T9ufye7NMl79roR2cXuxQvm/hzHfNLnfs8oD71FyLaOrhN7yDFN?= =?us-ascii?Q?KkeuMlVumAZUtzH6FEvOAyfkKT65hNRhvcDTbf9MaGjT/jIU4kNvpEsCEL1E?= =?us-ascii?Q?galZ7r5AaH02ppwfPiXvxuJ4fyVYMc6LZ+sDdeHp16u8DFB0vcMjA76Uw0Bk?= =?us-ascii?Q?Rj0BDVP0muwIuGjcabq/EHK9of+fyfTCjpxb/+WtSqgQdsZDrsRtQBjfiWXI?= =?us-ascii?Q?q//k5Wu0hDwiDEsWb6qua8Ys8WAHZoGkkfvsN9P3qmKYM3AYtJ8IT3J8NSlF?= =?us-ascii?Q?dsj4dmpZvpqefTKZapE/wgbUlsiF7zAxIBQ7wZnyXZY8amKT5IQ1X31rt6sM?= =?us-ascii?Q?xtRS9+eZZnPVZeOzv0W/MWE2mikV8SM3+eucgMgCMlVeYUGDTPsmMT55Lto1?= =?us-ascii?Q?Ou/NZTZ85z16BuUyZT40YwU5bIVuP8Pxj1fO1wRYCfPEX4Q8IOklwlZGi0w6?= =?us-ascii?Q?ilui/Ow8jEoLzCs2AvkvGnKIMnbEv2Ldh6L+EDUxougOtKtCE131f3T7xrBU?= =?us-ascii?Q?25IpGZd7vlrHY+senngU7lgLKG+WoTWrvkfgkxlGOuylb1mVwG/2hFFW9gmh?= =?us-ascii?Q?9lS54XgB7gg1xygN4K0uteKWPgsBSU8hBuIxN0h3Fb3JOStFVrsojlbVV3v0?= =?us-ascii?Q?G3m++GEaviR9o50yxZN2t/MV97Vm1S4KL5s1NDGKRNklVBoJrQVdwyz+wBCN?= =?us-ascii?Q?XoAkQWgxv1oN94wDbmGav95cb7w8o9+1Olc3L5QZgQTPJWNPH37Z+XQr7ZJK?= =?us-ascii?Q?3inXjP5uPyRNdakS22s5YGwotd5HDxsZkI1w5w6HR7i4ZVAdV9z1j/399hVS?= =?us-ascii?Q?R+5JQ2Ygjfmg12Os5C+0usg+ffUe364Eg9A1OwwfmW20n2xQiSwk0gsS64VH?= =?us-ascii?Q?RhjEdPGF6rVr2yzu7/UuR3MfHKRZhIeRrpnHu2139WY=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB2492.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0274d32a-f0c7-47c9-ee01-08d8bd13c7cb X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2021 07:19:52.5165 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zEohmC0nN52Wu8FNLRT/N5xY3CIvisAppOc9R8b3WiYNe1k8bGs52Uzm1GvwPGZ2Omyesglc0oCxX0a6XwukpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1215 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1611127209; bh=HS9KF6ibP+R3JVMBlij/bcuIXOfSfJpT779DZ6+Ln94=; h=X-PGP-Universal:ARC-Seal:ARC-Message-Signature: ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic: Thread-Index:Date:Message-ID:References:In-Reply-To: Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:x-ms-exchange-transport-forked: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=SoSqgQjPPIwHiik3RBtDEBv94y13HLi2PV49cmoQXeJqo9N2NTvQRd0MPdXHaEBrX QNeq1A2I02fgGL86+mRdAlIhgJ/E9HbgQvfCLktF7a+rDnEhqkcEjH3izhjKvTlEKK ViaZDVD8uFyR8YcpNaOGgfz0vF+ICnWqlCVpEo3Cb0GuXq6lU6MKnF9p6PRi55+I3y RWtQCppxp9Aho4Tgeo50D+3vkdbmwdb2tYV3EwQJKrlHX2e7JHB8+nx7ECWloNq8Xg tK6hlrJg4jFKDcB+eFsjNs23iI2b8dF4+9bxx71Eq8Epg2JCBoC8mJbk5vKsHKJJcm pQtmCJEskzB0g== Subject: Re: [dpdk-dev] [PATCH v2 10/10] compress/mlx5: add the supported capabilities 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" Hi Akhil Thanks for the review. PSB From: Akhil Goyal > > Add all the capabilities supported by the device. > > > > Add the driver documentations. > > > > Signed-off-by: Matan Azrad > > --- > > doc/guides/compressdevs/features/mlx5.ini | 13 +++++ > > doc/guides/compressdevs/index.rst | 1 + > > doc/guides/compressdevs/mlx5.rst | 84 > > +++++++++++++++++++++++++++++++ > > doc/guides/rel_notes/release_21_02.rst | 6 +++ > > drivers/compress/mlx5/mlx5_compress.c | 24 ++++++++- > > 5 files changed, 126 insertions(+), 2 deletions(-) create mode > > 100644 doc/guides/compressdevs/features/mlx5.ini > > create mode 100644 doc/guides/compressdevs/mlx5.rst > > > > diff --git a/doc/guides/compressdevs/features/mlx5.ini > > b/doc/guides/compressdevs/features/mlx5.ini > > new file mode 100644 > > index 0000000..891ce47 > > --- /dev/null > > +++ b/doc/guides/compressdevs/features/mlx5.ini > > @@ -0,0 +1,13 @@ > > +; > > +; Refer to default.ini for the full list of available PMD features. > > +; > > +; Supported features of 'MLX5' compression driver. > > +; > > +[Features] > > +HW Accelerated =3D Y > > +Deflate =3D Y > > +Adler32 =3D Y > > +Crc32 =3D Y > > +Adler32&Crc32 =3D Y > > +Fixed =3D Y > > +Dynamic =3D Y > > diff --git a/doc/guides/compressdevs/index.rst > > b/doc/guides/compressdevs/index.rst > > index 1f37e26..8f9f3a5 100644 > > --- a/doc/guides/compressdevs/index.rst > > +++ b/doc/guides/compressdevs/index.rst > > @@ -14,3 +14,4 @@ Compression Device Drivers > > octeontx > > qat_comp > > zlib > > + mlx5 >=20 > Maintain alphabetical order. >=20 sure > Also fix compilation issues reported by CI > https://nam11.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fmails.= dpd > k.org%2Farchives%2Ftest-report%2F2021- > January%2F173975.html&data=3D04%7C01%7Cmatan%40nvidia.com%7C58e > 8dd9d0a724957b66808d8bca33bd5%7C43083d15727340c1b7db39efd9ccc17a% > 7C0%7C0%7C637466756562484499%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM > C4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000& > amp;sdata=3DnpYG53ohqpHZMpRTZX5VFzzeF3sf082HKh3JgS9Zd2k%3D&rese > rved=3D0 =20 No real issue - it is just sent when the dependency series hadn't been inte= grated. > There is no information about the installation and how to test this PMD i= n the > documentation. You can see below that I added a reference to the installation guide in net= /mlx5 rst - it is the same. =20 > > diff --git a/doc/guides/compressdevs/mlx5.rst > > b/doc/guides/compressdevs/mlx5.rst > > new file mode 100644 > > index 0000000..4ee26b0 > > --- /dev/null > > +++ b/doc/guides/compressdevs/mlx5.rst > > @@ -0,0 +1,84 @@ > > +.. SPDX-License-Identifier: BSD-3-Clause > > + Copyright 2021 Mellanox Technologies, Ltd > > + > > +.. include:: > > + > > +MLX5 compress driver > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > + > > +The MLX5 compress driver library > > +(**librte_compress_mlx5**) provides support for **Mellanox BlueField > > +2** families of 25/50/100/200 Gb/s adapters. > > + > > +Design > > +------ > > + > > +This PMD is configuring the compress, decompress amd DMA engines. > > + > > +For security reasons and robustness, this driver only deals with > > +virtual memory addresses. The way resources allocations are handled > > +by the kernel, combined with hardware specifications that allow to > > +handle virtual memory addresses directly, ensure that DPDK > > +applications cannot access random physical memory (or memory that does > not belong to the current process). > > + > > +The PMD uses libibverbs and libmlx5 to access the device firmware or > > +directly the hardware components. > > +There are different levels of objects and bypassing abilities to get > > +the best performances: > > + > > +- Verbs is a complete high-level generic API. > > +- Direct Verbs is a device-specific API. > > +- DevX allows to access firmware objects. > > + > > +Enabling librte_compress_mlx5 causes DPDK applications to be linked > > +against libibverbs. > > + > > +Mellanox mlx5 pci device can be probed by number of different pci > > +devices, for example net / vDPA / compress. To select the compress > > +PMD > > ``class=3Dcompress`` > > +should be specified as device parameter. The compress device can be > > +probed > > and > > +used with other Mellanox classes, by adding more options in the class. > > +For example: ``class=3Dnet:compress`` will probe both the net PMD and > > +the > > compress > > +PMD. > > + > > +Features > > +-------- > > + > > +Compress mlx5 PMD has support for: > > + > > +Compression/Decompression algorithm: > > + > > +* DEFLATE. > > + > > +NULL algorithm for DMA operations. > > + > > +Huffman code type: > > + > > +* FIXED. > > +* DYNAMIC. > > + > > +Window size support: > > + > > +1KB, 2KB, 4KB, 8KB, 16KB and 32KB. > > + > > +Sharable transformation. > > + > > +Checksum generation: > > + > > +* CRC32, Adler32 and combined checksum. > > + > > +Limitations > > +----------- > > + > > +* Scatter-Gather, SHA and Stateful are not supported. > > +* Non-compressed block is not supported in compress (supported in > > decompress). > > + > > +Supported NICs > > +-------------- > > + > > +* Mellanox\ |reg| BlueField 2 SmartNIC > > + > > +Prerequisites > > +------------- > > + > > +- Mellanox OFED version: **5.2** > > + see :doc:`../../nics/mlx5` guide for more Mellanox OFED details. > > \ No newline at end of file > > diff --git a/doc/guides/rel_notes/release_21_02.rst > > b/doc/guides/rel_notes/release_21_02.rst > > index 706cbf8..f672d7f 100644 > > --- a/doc/guides/rel_notes/release_21_02.rst > > +++ b/doc/guides/rel_notes/release_21_02.rst > > @@ -51,6 +51,12 @@ New Features > > * Other libs > > * Apps, Examples, Tools (if significant) > > > > +* **Added mlx5 compress PMD.** > > + > > + Added a new compress PMD driver for Bluefield 2 adapters. > > + > > + See the :doc:`../compressdevs/mlx5` for more details. > > + > > This section is a comment. Do not overwrite or remove it. > > Also, make sure to start the actual text at the margin. > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > > diff --git a/drivers/compress/mlx5/mlx5_compress.c > > b/drivers/compress/mlx5/mlx5_compress.c > > index d768453..7384351 100644 > > --- a/drivers/compress/mlx5/mlx5_compress.c > > +++ b/drivers/compress/mlx5/mlx5_compress.c > > @@ -74,8 +74,28 @@ struct mlx5_compress_qp { > > > > int mlx5_compress_logtype; > > > > -const struct rte_compressdev_capabilities > > mlx5_caps[RTE_COMP_ALGO_LIST_END]; > > - > > +static const struct rte_compressdev_capabilities mlx5_caps[] =3D { > > + { > > + .algo =3D RTE_COMP_ALGO_NULL, > > + .comp_feature_flags =3D RTE_COMP_FF_ADLER32_CHECKSUM | > > + RTE_COMP_FF_CRC32_CHECKSUM | > > + > > RTE_COMP_FF_CRC32_ADLER32_CHECKSUM | > > + RTE_COMP_FF_SHAREABLE_PRIV_XFORM, > > + }, > > + { > > + .algo =3D RTE_COMP_ALGO_DEFLATE, > > + .comp_feature_flags =3D RTE_COMP_FF_ADLER32_CHECKSUM | > > + RTE_COMP_FF_CRC32_CHECKSUM | > > + > > RTE_COMP_FF_CRC32_ADLER32_CHECKSUM | > > + RTE_COMP_FF_SHAREABLE_PRIV_XFORM | > > + RTE_COMP_FF_HUFFMAN_FIXED | > > + RTE_COMP_FF_HUFFMAN_DYNAMIC, > > + .window_size =3D {.min =3D 10, .max =3D 15, .increment = =3D 1}, > > + }, > > + { > > + .algo =3D RTE_COMP_ALGO_LIST_END, > > + } > > +}; > > > > static void > > mlx5_compress_dev_info_get(struct rte_compressdev *dev, > > -- > > 1.8.3.1