DPDK patches and discussions
 help / color / mirror / Atom feed
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
To: shally.verma@caviumnetworks.com, ashish.gupta@caviumnetworks.com,
	fiona.trahe@intel.com, lee.daly@intel.com
Cc: dev@dpdk.org, Pablo de Lara <pablo.de.lara.guarch@intel.com>
Subject: [dpdk-dev] [PATCH v4 3/4] compressdev: replace mbuf scatter gather flag
Date: Fri,  6 Jul 2018 03:54:29 +0100	[thread overview]
Message-ID: <20180706025430.21342-3-pablo.de.lara.guarch@intel.com> (raw)
In-Reply-To: <20180706025430.21342-1-pablo.de.lara.guarch@intel.com>

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_LB_IN_SGL_OUT

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 <pablo.de.lara.guarch@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
---

v4:
- Replaced FB (Flat Buffers) with LB (Linear Buffers) (Shally)
- Add extra explanation on comments about Linear Buffers vs
  Scatter-gather lists

v3:
- Replaced Out-of-place with OOP
- Added new feature flags in default.ini

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            | 31 +++++++++++++++++--------
 5 files changed, 65 insertions(+), 28 deletions(-)

diff --git a/doc/guides/compressdevs/features/default.ini b/doc/guides/compressdevs/features/default.ini
index a88414d23..829e4df61 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 =
-CPU SSE        =
-CPU AVX        =
-CPU AVX2       =
-CPU AVX512     =
-CPU NEON       =
-Stateful       =
-Pass-through   =
-Chained mbufs  =
-Deflate        =
-LZS            =
-Adler32        =
-Crc32          =
-Adler32&Crc32  =
-Fixed          =
-Dynamic        =
+HW Accelerated      =
+CPU SSE             =
+CPU AVX             =
+CPU AVX2            =
+CPU AVX512          =
+CPU NEON            =
+Stateful            =
+Pass-through        =
+OOP SGL In SGL Out  =
+OOP SGL In LB  Out  =
+OOP LB  In SGL Out  =
+Deflate             =
+LZS                 =
+Adler32             =
+Crc32               =
+Adler32&Crc32       =
+Fixed               =
+Dynamic             =
diff --git a/doc/guides/compressdevs/overview.rst b/doc/guides/compressdevs/overview.rst
index d01c1a966..6d12c3bd6 100644
--- a/doc/guides/compressdevs/overview.rst
+++ b/doc/guides/compressdevs/overview.rst
@@ -16,3 +16,17 @@ Supported Feature Flags
    - "Pass-through" feature flag refers to the ability of the PMD
      to let input buffers pass-through it, copying the input to the output,
      without making any modifications to it (no compression done).
+
+   - "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 buffers can consist of multiple segments.
+
+   - "OOP SGL In LB Out" feature flag stands for
+     "Out-of-place Scatter-gather list Input, Flat Buffers Output",
+     which means that the input buffer can consist of multiple segments combined
+     with a single segment buffer in the output.
+
+   - "OOP LB In SGL Out" feature flag stands for
+     "Out-of-place Flat Buffers Input, Scatter-gather list Output",
+     which means that the output buffer can consist of multiple segments combined
+     with a single segment buffer 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..3487e3fb9 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.
    =========================================================
 
+* 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_LB_OUT``
+  - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT``
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_compressdev/rte_comp.c b/lib/librte_compressdev/rte_comp.c
index d596ba872..97ea0d922 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_LB_OUT:
+		return "OOP_SGL_IN_LB_OUT";
+	case RTE_COMP_FF_OOP_LB_IN_SGL_OUT:
+		return "OOP_LB_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/rte_comp.h
index 5b513c77e..274b5eadf 100644
--- a/lib/librte_compressdev/rte_comp.h
+++ b/lib/librte_compressdev/rte_comp.h
@@ -30,23 +30,34 @@ 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) buffers,
+ * with multiple segments, are supported in input and output
+ */
+#define RTE_COMP_FF_OOP_SGL_IN_LB_OUT		(1ULL << 3)
+/**< Out-of-place Scatter-gather (SGL) buffers are supported
+ * in input, combined with linear buffers (LB), with a
+ * single segment, in output
+ */
+#define RTE_COMP_FF_OOP_LB_IN_SGL_OUT		(1ULL << 4)
+/**< Out-of-place Scatter-gather (SGL) mbufs are supported
+ * in output, combined with linear buffers (LB) 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 supported */
-#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 supported */
-#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

  parent reply	other threads:[~2018-07-06 11:00 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-27  5:50 [dpdk-dev] [PATCH 1/2] " Pablo de Lara
2018-06-27  5:50 ` [dpdk-dev] [PATCH 2/2] compressdev: add huffman encoding flags Pablo de Lara
2018-06-27 15:22   ` Trahe, Fiona
2018-06-27 15:36     ` De Lara Guarch, Pablo
2018-06-27 17:35       ` Trahe, Fiona
2018-06-28 10:00   ` Daly, Lee
2018-06-27 12:16 ` [dpdk-dev] [PATCH v2 1/2] compressdev: replace mbuf scatter gather flag Pablo de Lara
2018-06-27 12:16   ` [dpdk-dev] [PATCH v2 2/2] compressdev: add huffman encoding flags Pablo de Lara
2018-06-28  7:49     ` Trahe, Fiona
2018-06-28  7:48   ` [dpdk-dev] [PATCH v2 1/2] compressdev: replace mbuf scatter gather flag Trahe, Fiona
2018-06-29 10:08   ` Trahe, Fiona
2018-06-27 15:14 ` [dpdk-dev] [PATCH " Trahe, Fiona
2018-06-27 15:33   ` De Lara Guarch, Pablo
2018-07-04 14:10 ` [dpdk-dev] [PATCH v3 1/4] doc: cleanup ISA-L PMD feature matrix Pablo de Lara
2018-07-04 14:10   ` [dpdk-dev] [PATCH v3 2/4] doc: rename compress feature flag Pablo de Lara
2018-07-05  2:41     ` Verma, Shally
2018-07-05 11:03       ` De Lara Guarch, Pablo
2018-07-05  8:07     ` Trahe, Fiona
2018-07-04 14:10   ` [dpdk-dev] [PATCH v3 3/4] compressdev: replace mbuf scatter gather flag Pablo de Lara
2018-07-05  8:38     ` Verma, Shally
2018-07-05 11:05       ` De Lara Guarch, Pablo
2018-07-05 11:12         ` Verma, Shally
2018-07-05 11:25           ` De Lara Guarch, Pablo
2018-07-05 11:58             ` Verma, Shally
2018-07-06  8:40               ` De Lara Guarch, Pablo
2018-07-06  8:53                 ` Verma, Shally
2018-07-06  8:59                   ` De Lara Guarch, Pablo
2018-07-04 14:10   ` [dpdk-dev] [PATCH v3 4/4] compressdev: add huffman encoding flags Pablo de Lara
2018-07-05  8:14     ` Verma, Shally
2018-07-05 11:21       ` De Lara Guarch, Pablo
2018-07-05  8:10   ` [dpdk-dev] [PATCH v3 1/4] doc: cleanup ISA-L PMD feature matrix Daly, Lee
2018-07-06  2:54 ` [dpdk-dev] [PATCH v4 " Pablo de Lara
2018-07-06  2:54   ` [dpdk-dev] [PATCH v4 2/4] doc: rename compress feature flag Pablo de Lara
2018-07-06 12:17     ` Verma, Shally
2018-07-06  2:54   ` Pablo de Lara [this message]
2018-07-06 12:33     ` [dpdk-dev] [PATCH v4 3/4] compressdev: replace mbuf scatter gather flag Verma, Shally
2018-07-06  2:54   ` [dpdk-dev] [PATCH v4 4/4] compressdev: add huffman encoding flags Pablo de Lara
2018-07-06  5:27 ` [dpdk-dev] [PATCH v5 1/4] doc: cleanup ISA-L PMD feature matrix Pablo de Lara
2018-07-06  5:27   ` [dpdk-dev] [PATCH v5 2/4] doc: rename compress feature flag Pablo de Lara
2018-07-06  5:28   ` [dpdk-dev] [PATCH v5 3/4] compressdev: replace mbuf scatter gather flag Pablo de Lara
2018-07-07  6:34     ` Verma, Shally
2018-07-09  8:07       ` De Lara Guarch, Pablo
2018-07-06  5:28   ` [dpdk-dev] [PATCH v5 4/4] compressdev: add huffman encoding flags Pablo de Lara
2018-07-07  6:36     ` Verma, Shally
2018-07-09  8:11   ` [dpdk-dev] [PATCH v5 1/4] doc: cleanup ISA-L PMD feature matrix De Lara Guarch, Pablo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180706025430.21342-3-pablo.de.lara.guarch@intel.com \
    --to=pablo.de.lara.guarch@intel.com \
    --cc=ashish.gupta@caviumnetworks.com \
    --cc=dev@dpdk.org \
    --cc=fiona.trahe@intel.com \
    --cc=lee.daly@intel.com \
    --cc=shally.verma@caviumnetworks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).