From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0085.outbound.protection.outlook.com [104.47.36.85]) by dpdk.org (Postfix) with ESMTP id B108F1C044 for ; Thu, 5 Jul 2018 10:38:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CAtulBKOASfdKzUZzeD9d8hxTck5he7sjFi1Q2bD1S4=; b=gBD9MCs31CJkvu5VxEO516pSpfTNy3TpX1rqhyuAtq73lLZMPLVjncWrrjCWYy6HnkhG2qayT58lmJ4xEoHrpTAm0rzkOSFyW//4snGsUpMnhPfy9knb2zp+uELe/1pZVEK+8xYGUaxzJL6b/9G0eTM0l1na4EcVXBdvpyKSkSk= Received: from CY4PR0701MB3634.namprd07.prod.outlook.com (52.132.101.164) by CY4PR0701MB3812.namprd07.prod.outlook.com (52.132.102.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Thu, 5 Jul 2018 08:38:52 +0000 Received: from CY4PR0701MB3634.namprd07.prod.outlook.com ([fe80::f55a:7354:8d2f:cf0b]) by CY4PR0701MB3634.namprd07.prod.outlook.com ([fe80::f55a:7354:8d2f:cf0b%4]) with mapi id 15.20.0906.026; Thu, 5 Jul 2018 08:38:50 +0000 From: "Verma, Shally" To: Pablo de Lara , "Gupta, Ashish" , "fiona.trahe@intel.com" , "lee.daly@intel.com" , "Sahu, Sunila" CC: "dev@dpdk.org" Thread-Topic: [PATCH v3 3/4] compressdev: replace mbuf scatter gather flag Thread-Index: AQHUE+SndvECSlPZO0SAjH2oKlC5saSAT3Kw Date: Thu, 5 Jul 2018 08:38:50 +0000 Message-ID: References: <20180627055031.24394-1-pablo.de.lara.guarch@intel.com> <20180704141037.44021-1-pablo.de.lara.guarch@intel.com> <20180704141037.44021-3-pablo.de.lara.guarch@intel.com> In-Reply-To: <20180704141037.44021-3-pablo.de.lara.guarch@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; x-originating-ip: [115.113.156.2] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR0701MB3812; 7:8jGuB2s1lT/3VDkfbrHdHFG9J1IrRmwW7Nmqn2YUleY7kWDdRFMn53Ma+2jUdbuce9ojJMy2ynL5M6Pk5Bwfc3OGmOK/XcuKa7iTN1V5N6wp+AoDj7YVJRSZDRVEKhhIlL9s2nRdV7/4mMdbtVLo1MHoP+9SEjT20Bl0Yg0dMXntS3p+IxLrMia0HrBRQbU9m8it/LKi00uGatrXsWyU3EfOzYArdCXuLJU0T8EPa1PO8+WIga+Tjxzb/rgoDFDI x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(376002)(346002)(396003)(39860400002)(136003)(366004)(189003)(199004)(13464003)(57704003)(6436002)(55016002)(5660300001)(9686003)(8936002)(26005)(81156014)(6116002)(8676002)(81166006)(186003)(99286004)(14454004)(74316002)(478600001)(305945005)(68736007)(3846002)(2906002)(72206003)(7736002)(106356001)(105586002)(2900100001)(86362001)(53936002)(2201001)(6636002)(6246003)(5250100002)(102836004)(6506007)(25786009)(486006)(55236004)(33656002)(229853002)(4326008)(76176011)(7696005)(446003)(11346002)(66066001)(476003)(110136005)(97736004)(256004)(316002)(2501003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR0701MB3812; H:CY4PR0701MB3634.namprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-office365-filtering-correlation-id: efa3f13c-13a9-4794-e4c2-08d5e252bbbc x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:CY4PR0701MB3812; x-ms-traffictypediagnostic: CY4PR0701MB3812: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(788757137089)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:CY4PR0701MB3812; BCL:0; PCL:0; RULEID:; SRVR:CY4PR0701MB3812; x-forefront-prvs: 0724FCD4CD received-spf: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: mcPtY3ml8fj9a8+PxQi99rrYQOIx5krACkjxEWxbn+uB+rtiSFRVRLjnWc86LbiOL6u9oestIsW1PJd4/Gb8JUxQF+TIN0ASexvLWWUfe2yuUNEahoF6K2/8d2JAnOhNm2vCjXWmO7oH6n6d6iNgpiA6UnrvhE5bjKaX3PawaHgI4nWGKOR/g/wBhf7nEwE7/hcBAczjPaMRXjuKbXLXQVYJJk/8a0Yp0rsGtRqqeyLe9f/Rp2/HzI+Hfmn/W/vHdpXh/bv7VJomK6An7uuL0KbJ8OLepwSG9hekNdU/8JnRb3pQiBdRQrOxYCN+O9J9uKFRk3D4P69bpiBqeGQcd2mDkVntoD9ToCLEqyvYq8g= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-Network-Message-Id: efa3f13c-13a9-4794-e4c2-08d5e252bbbc X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jul 2018 08:38:50.6476 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0701MB3812 Subject: Re: [dpdk-dev] [PATCH v3 3/4] compressdev: replace mbuf scatter gather flag 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: , X-List-Received-Date: Thu, 05 Jul 2018 08:38:54 -0000 >-----Original Message----- >From: Pablo de Lara [mailto:pablo.de.lara.guarch@intel.com] >Sent: 04 July 2018 19:41 >To: Verma, Shally ; Gupta, Ashish ; fiona.trahe@intel.com; >lee.daly@intel.com >Cc: dev@dpdk.org; Pablo de Lara >Subject: [PATCH v3 3/4] compressdev: replace mbuf scatter gather flag > >External Email > >The current mbuf scatter gather feature flag is >too ambiguous, as it is not clear if input and/or output >buffers can be scatter gather mbufs or not. > >Therefore, three new flags will replace this flag: >- RTE_COMP_FF_OOP_SGL_IN_SGL_OUT >- RTE_COMP_FF_OOP_SGL_IN_FB_OUT >- RTE_COMP_FF_OOP_FB_IN_SGL_OUT > [Shally] Believe Out of place is default support on current compression API= , so why do we need _OOP_ here? Thanks Shally >Note that out-of-place flat buffers is supported by default >and in-place is not supported by the library. > >Signed-off-by: Pablo de Lara >Acked-by: Fiona Trahe >--- > >Changes in v3: >- Replaced Out-of-place with OOP >- Added new feature flags in default.ini > >Changes in v2: >- Fixed typos >- Rephrased comments > > doc/guides/compressdevs/features/default.ini | 34 +++++++++++++++--------= ----- > doc/guides/compressdevs/overview.rst | 14 ++++++++++++ > doc/guides/rel_notes/release_18_08.rst | 6 +++++ > lib/librte_compressdev/rte_comp.c | 8 +++++-- > lib/librte_compressdev/rte_comp.h | 30 ++++++++++++++++-------= - > 5 files changed, 64 insertions(+), 28 deletions(-) > >diff --git a/doc/guides/compressdevs/features/default.ini b/doc/guides/com= pressdevs/features/default.ini >index a88414d23..003f3f3a5 100644 >--- a/doc/guides/compressdevs/features/default.ini >+++ b/doc/guides/compressdevs/features/default.ini >@@ -6,19 +6,21 @@ > ; the features table in the documentation. > ; > [Features] >-HW Accelerated =3D >-CPU SSE =3D >-CPU AVX =3D >-CPU AVX2 =3D >-CPU AVX512 =3D >-CPU NEON =3D >-Stateful =3D >-Pass-through =3D >-Chained mbufs =3D >-Deflate =3D >-LZS =3D >-Adler32 =3D >-Crc32 =3D >-Adler32&Crc32 =3D >-Fixed =3D >-Dynamic =3D >+HW Accelerated =3D >+CPU SSE =3D >+CPU AVX =3D >+CPU AVX2 =3D >+CPU AVX512 =3D >+CPU NEON =3D >+Stateful =3D >+Pass-through =3D >+OOP SGL In SGL Out =3D >+OOP SGL In FB Out =3D >+OOP FB In SGL Out =3D >+Deflate =3D >+LZS =3D >+Adler32 =3D >+Crc32 =3D >+Adler32&Crc32 =3D >+Fixed =3D >+Dynamic =3D >diff --git a/doc/guides/compressdevs/overview.rst b/doc/guides/compressdev= s/overview.rst >index b16c36fd6..68205c77d 100644 >--- a/doc/guides/compressdevs/overview.rst >+++ b/doc/guides/compressdevs/overview.rst >@@ -15,3 +15,17 @@ Supported Feature Flags > > - "Pass-through" feature flag refers to the ability of the PMD > to let mbufs pass-through it, without making any modifications to it= . >+ >+ - "OOP SGL In SGL Out" feature flag stands for >+ "Out-of-place Scatter-gather list Input, Scatter-gater list Output", >+ which means that the input and output mbufs can consist of multiple = segments. >+ >+ - "OOP SGL In FB Out" feature flag stands for >+ "Out-of-place Scatter-gather list Input, Flat Buffers Output", >+ which means that the input mbuf can consist of multiple segments com= bined >+ with a single segment mbuf in the output. >+ >+ - "OOP FB In SGL Out" feature flag stands for >+ "Out-of-place Flat Buffers Input, Scatter-gather list Output", >+ which means that the output mbuf can consist of multiple segments co= mbined >+ with a single segment mbuf in the input. >diff --git a/doc/guides/rel_notes/release_18_08.rst b/doc/guides/rel_notes= /release_18_08.rst >index bc0124295..4ae37cb3b 100644 >--- a/doc/guides/rel_notes/release_18_08.rst >+++ b/doc/guides/rel_notes/release_18_08.rst >@@ -60,6 +60,12 @@ API Changes > 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=3D=3D > >+* compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is >+ replaced with the following more explicit flags: >+ - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT`` >+ - ``RTE_COMP_FF_OOP_SGL_IN_FB_OUT`` >+ - ``RTE_COMP_FF_OOP_FB_IN_SGL_OUT`` >+ > > ABI Changes > ----------- >diff --git a/lib/librte_compressdev/rte_comp.c b/lib/librte_compressdev/rt= e_comp.c >index d596ba872..f5bd3a6c0 100644 >--- a/lib/librte_compressdev/rte_comp.c >+++ b/lib/librte_compressdev/rte_comp.c >@@ -14,8 +14,12 @@ rte_comp_get_feature_name(uint64_t flag) > return "STATEFUL_COMPRESSION"; > case RTE_COMP_FF_STATEFUL_DECOMPRESSION: > return "STATEFUL_DECOMPRESSION"; >- case RTE_COMP_FF_MBUF_SCATTER_GATHER: >- return "MBUF_SCATTER_GATHER"; >+ case RTE_COMP_FF_OOP_SGL_IN_SGL_OUT: >+ return "OOP_SGL_IN_SGL_OUT"; >+ case RTE_COMP_FF_OOP_SGL_IN_FB_OUT: >+ return "OOP_SGL_IN_FB_OUT"; >+ case RTE_COMP_FF_OOP_FB_IN_SGL_OUT: >+ return "OOP_FB_IN_SGL_OUT"; > case RTE_COMP_FF_MULTI_PKT_CHECKSUM: > return "MULTI_PKT_CHECKSUM"; > case RTE_COMP_FF_ADLER32_CHECKSUM: >diff --git a/lib/librte_compressdev/rte_comp.h b/lib/librte_compressdev/rt= e_comp.h >index 5b513c77e..6660cee82 100644 >--- a/lib/librte_compressdev/rte_comp.h >+++ b/lib/librte_compressdev/rte_comp.h >@@ -30,23 +30,33 @@ extern "C" { > /**< Stateful compression is supported */ > #define RTE_COMP_FF_STATEFUL_DECOMPRESSION (1ULL << 1) > /**< Stateful decompression is supported */ >-#define RTE_COMP_FF_MBUF_SCATTER_GATHER (1ULL << 2) >-/**< Scatter-gather mbufs are supported */ >-#define RTE_COMP_FF_ADLER32_CHECKSUM (1ULL << 3) >+#define RTE_COMP_FF_OOP_SGL_IN_SGL_OUT (1ULL << 2) >+/**< Out-of-place Scatter-gather (SGL) mbufs are >+ * supported in input and output >+ */ >+#define RTE_COMP_FF_OOP_SGL_IN_FB_OUT (1ULL << 3) >+/**< Out-of-place Scatter-gather (SGL) mbufs are supported >+ * in input, combined with flat buffers (FB) in output >+ */ >+#define RTE_COMP_FF_OOP_FB_IN_SGL_OUT (1ULL << 4) >+/**< Out-of-place Scatter-gather (SGL) mbufs are supported >+ * in output, combined with flat buffers (FB) in input >+ */ >+#define RTE_COMP_FF_ADLER32_CHECKSUM (1ULL << 5) > /**< Adler-32 Checksum is supported */ >-#define RTE_COMP_FF_CRC32_CHECKSUM (1ULL << 4) >+#define RTE_COMP_FF_CRC32_CHECKSUM (1ULL << 6) > /**< CRC32 Checksum is supported */ >-#define RTE_COMP_FF_CRC32_ADLER32_CHECKSUM (1ULL << 5) >+#define RTE_COMP_FF_CRC32_ADLER32_CHECKSUM (1ULL << 7) > /**< Adler-32/CRC32 Checksum is supported */ >-#define RTE_COMP_FF_MULTI_PKT_CHECKSUM (1ULL << 6) >+#define RTE_COMP_FF_MULTI_PKT_CHECKSUM (1ULL << 8) > /**< Generation of checksum across multiple stateless packets is supporte= d */ >-#define RTE_COMP_FF_SHA1_HASH (1ULL << 7) >+#define RTE_COMP_FF_SHA1_HASH (1ULL << 9) > /**< SHA1 Hash is supported */ >-#define RTE_COMP_FF_SHA2_SHA256_HASH (1ULL << 8) >+#define RTE_COMP_FF_SHA2_SHA256_HASH (1ULL << 10) > /**< SHA256 Hash of SHA2 family is supported */ >-#define RTE_COMP_FF_NONCOMPRESSED_BLOCKS (1ULL << 9) >+#define RTE_COMP_FF_NONCOMPRESSED_BLOCKS (1ULL << 11) > /**< Creation of non-compressed blocks using RTE_COMP_LEVEL_NONE is suppo= rted */ >-#define RTE_COMP_FF_SHAREABLE_PRIV_XFORM (1ULL << 10) >+#define RTE_COMP_FF_SHAREABLE_PRIV_XFORM (1ULL << 12) > /**< Private xforms created by the PMD can be shared > * across multiple stateless operations. If not set, then app needs > * to create as many priv_xforms as it expects to have stateless >-- >2.14.4