[v2,1/2] compressdev: replace mbuf scatter gather flag

Message ID 20180627121622.48069-1-pablo.de.lara.guarch@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Pablo de Lara Guarch
Headers
Series [v2,1/2] compressdev: replace mbuf scatter gather flag |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

De Lara Guarch, Pablo June 27, 2018, 12:16 p.m. UTC
  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_OUT_OF_PLACE_SGL_IN_SGL_OUT
- RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT
- RTE_COMP_FF_OUT_OF_PLACE_FB_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>
---

Changes in v2:
- Fixed typos
- Rephrased comments

 doc/guides/rel_notes/release_18_08.rst |  6 ++++++
 lib/librte_compressdev/rte_comp.c      |  8 ++++++--
 lib/librte_compressdev/rte_comp.h      | 30 ++++++++++++++++++++----------
 3 files changed, 32 insertions(+), 12 deletions(-)
  

Comments

Fiona Trahe June 28, 2018, 7:48 a.m. UTC | #1
> -----Original Message-----
> From: De Lara Guarch, Pablo
> Sent: Wednesday, June 27, 2018 1:16 PM
> To: Trahe, Fiona <fiona.trahe@intel.com>; ashish.gupta@caviumnetworks.com; Daly, Lee
> <lee.daly@intel.com>
> Cc: dev@dpdk.org; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> Subject: [PATCH v2 1/2] compressdev: replace mbuf scatter gather flag
> 
> 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_OUT_OF_PLACE_SGL_IN_SGL_OUT
> - RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT
> - RTE_COMP_FF_OUT_OF_PLACE_FB_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>
  
Fiona Trahe June 29, 2018, 10:08 a.m. UTC | #2
Hi Pablo,

The Chained mbufs feature in doc/guides/compressdevs/features/default.ini needs updating with this change.
Also while you're updating it I think we wanted to rename By-Pass? To Pass-thru?

Fiona

> -----Original Message-----
> From: De Lara Guarch, Pablo
> Sent: Wednesday, June 27, 2018 1:16 PM
> To: Trahe, Fiona <fiona.trahe@intel.com>; ashish.gupta@caviumnetworks.com; Daly, Lee
> <lee.daly@intel.com>
> Cc: dev@dpdk.org; De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>
> Subject: [PATCH v2 1/2] compressdev: replace mbuf scatter gather flag
> 
> 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_OUT_OF_PLACE_SGL_IN_SGL_OUT
> - RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT
> - RTE_COMP_FF_OUT_OF_PLACE_FB_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>
> ---
> 
> Changes in v2:
> - Fixed typos
> - Rephrased comments
> 
>  doc/guides/rel_notes/release_18_08.rst |  6 ++++++
>  lib/librte_compressdev/rte_comp.c      |  8 ++++++--
>  lib/librte_compressdev/rte_comp.h      | 30 ++++++++++++++++++++----------
>  3 files changed, 32 insertions(+), 12 deletions(-)
> 
> diff --git a/doc/guides/rel_notes/release_18_08.rst b/doc/guides/rel_notes/release_18_08.rst
> index bc0124295..18c8b4bd1 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_OUT_OF_PLACE_SGL_IN_SGL_OUT``
> +  - ``RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT``
> +  - ``RTE_COMP_FF_OUT_OF_PLACE_FB_IN_SGL_OUT``
> +
> 
>  ABI Changes
>  -----------
> diff --git a/lib/librte_compressdev/rte_comp.c b/lib/librte_compressdev/rte_comp.c
> index d596ba872..ea7692ae7 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_OUT_OF_PLACE_SGL_IN_SGL_OUT:
> +		return "OUT_OF_PLACE_SGL_IN_SGL_OUT";
> +	case RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT:
> +		return "OUT_OF_PLACE_SGL_IN_FB_OUT";
> +	case RTE_COMP_FF_OUT_OF_PLACE_FB_IN_SGL_OUT:
> +		return "OUT_OF_PLACE_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/rte_comp.h
> index 5b513c77e..f3742dafb 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_OUT_OF_PLACE_SGL_IN_SGL_OUT	(1ULL << 2)
> +/**< Out-of-place Scatter-gather (SGL) mbufs are
> + * supported in input and output
> + */
> +#define RTE_COMP_FF_OUT_OF_PLACE_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_OUT_OF_PLACE_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 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
  

Patch

diff --git a/doc/guides/rel_notes/release_18_08.rst b/doc/guides/rel_notes/release_18_08.rst
index bc0124295..18c8b4bd1 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_OUT_OF_PLACE_SGL_IN_SGL_OUT``
+  - ``RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT``
+  - ``RTE_COMP_FF_OUT_OF_PLACE_FB_IN_SGL_OUT``
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_compressdev/rte_comp.c b/lib/librte_compressdev/rte_comp.c
index d596ba872..ea7692ae7 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_OUT_OF_PLACE_SGL_IN_SGL_OUT:
+		return "OUT_OF_PLACE_SGL_IN_SGL_OUT";
+	case RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT:
+		return "OUT_OF_PLACE_SGL_IN_FB_OUT";
+	case RTE_COMP_FF_OUT_OF_PLACE_FB_IN_SGL_OUT:
+		return "OUT_OF_PLACE_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/rte_comp.h
index 5b513c77e..f3742dafb 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_OUT_OF_PLACE_SGL_IN_SGL_OUT	(1ULL << 2)
+/**< Out-of-place Scatter-gather (SGL) mbufs are
+ * supported in input and output
+ */
+#define RTE_COMP_FF_OUT_OF_PLACE_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_OUT_OF_PLACE_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 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