[1/2] compressdev: replace mbuf scatter gather flag
Checks
Commit Message
The current mbuf scatter gatter 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_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT
- RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT
- RTE_CRYPTODEV_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>
---
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
Hi Pablo,
> -----Original Message-----
> From: De Lara Guarch, Pablo
> Sent: Wednesday, June 27, 2018 6:51 AM
> 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 1/2] compressdev: replace mbuf scatter gather flag
>
> The current mbuf scatter gatter feature flag is
[Fiona] typo - gather
> 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_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT
> - RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT
> - RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT
[Fiona] oops! CRYPTODEV?? Here and below in docs
>
> 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>
> ---
> 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..1fc38418a 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_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT``
> + - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT``
> + - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT``
> +
>
> +#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, but only flat buffers (FB) are supported in output
> + */
[Fiona] I'd replace "but only.." with "combined with FB in output"
As a PMD can set more than one of these flags, so the but only is misleading in this case.
Same with next flag.
> -----Original Message-----
> From: Trahe, Fiona
> Sent: Wednesday, June 27, 2018 4:14 PM
> To: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>;
> ashish.gupta@caviumnetworks.com; Daly, Lee <lee.daly@intel.com>
> Cc: dev@dpdk.org; Trahe, Fiona <fiona.trahe@intel.com>
> Subject: RE: [PATCH 1/2] compressdev: replace mbuf scatter gather flag
>
> Hi Pablo,
>
> > -----Original Message-----
> > From: De Lara Guarch, Pablo
> > Sent: Wednesday, June 27, 2018 6:51 AM
> > 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 1/2] compressdev: replace mbuf scatter gather flag
> >
> > The current mbuf scatter gatter feature flag is
> [Fiona] typo - gather
Will fix.
>
> > 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_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT
> > - RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT
> > - RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT
> [Fiona] oops! CRYPTODEV?? Here and below in docs
Oops... will fix!! :P
>
> >
> > 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>
> > ---
> > 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..1fc38418a 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_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT``
> > + - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT``
> > + - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT``
> > +
> >
>
> > +#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, but only flat buffers (FB) are supported in output */
> [Fiona] I'd replace "but only.." with "combined with FB in output"
> As a PMD can set more than one of these flags, so the but only is misleading in
> this case.
> Same with next flag.
OK, will fix. Thanks!
>
@@ -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_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT``
+ - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_SGL_IN_FB_OUT``
+ - ``RTE_CRYPTODEV_FF_OUT_OF_PLACE_FB_IN_SGL_OUT``
+
ABI Changes
-----------
@@ -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:
@@ -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, but only flat buffers (FB) are supported 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, but only flat buffers (FB) are supported 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