Thread (45 messages) 45 messages, 4 authors, 2018-07-09

Re: [PATCH 2/2] compressdev: add huffman encoding flags

From: De Lara Guarch, Pablo <hidden>
Date: 2018-06-27 15:36:26

-----Original Message-----
From: Trahe, Fiona
Sent: Wednesday, June 27, 2018 4:23 PM
To: De Lara Guarch, Pablo <redacted>;
ashish.gupta@caviumnetworks.com; Daly, Lee [off-list ref]
Cc: dev@dpdk.org; Trahe, Fiona <redacted>
Subject: RE: [PATCH 2/2] compressdev: add huffman encoding flags

Hi Pablo,

quoted
-----Original Message-----
From: De Lara Guarch, Pablo
Sent: Wednesday, June 27, 2018 6:51 AM
To: Trahe, Fiona <redacted>;
ashish.gupta@caviumnetworks.com; Daly, Lee [off-list ref]
Cc: dev@dpdk.org; De Lara Guarch, Pablo
[off-list ref]
Subject: [PATCH 2/2] compressdev: add huffman encoding flags

Added Huffman fixed and dynamic encoding feature flags, so an
application can query if a device supports these two types, when
performing DEFLATE compression.

Signed-off-by: Pablo de Lara <redacted>
---
 drivers/compress/isal/isal_compress_pmd_ops.c | 4 +++-
 lib/librte_compressdev/rte_comp.c             | 4 ++++
 lib/librte_compressdev/rte_comp.h             | 4 ++++
 3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/compress/isal/isal_compress_pmd_ops.c
b/drivers/compress/isal/isal_compress_pmd_ops.c
index 970a0413b..585f22802 100644
--- a/drivers/compress/isal/isal_compress_pmd_ops.c
+++ b/drivers/compress/isal/isal_compress_pmd_ops.c
@@ -12,7 +12,9 @@
 static const struct rte_compressdev_capabilities isal_pmd_capabilities[] = {
 	{
 		.algo = RTE_COMP_ALGO_DEFLATE,
-		.comp_feature_flags =
	RTE_COMP_FF_SHAREABLE_PRIV_XFORM,
quoted
+		.comp_feature_flags =
	RTE_COMP_FF_SHAREABLE_PRIV_XFORM |
quoted
+					RTE_COMP_FF_HUFFMAN_FIXED |
+					RTE_COMP_FF_HUFFMAN_DYNAMIC,
 		.window_size = {
 			.min = 15,
 			.max = 15,
diff --git a/lib/librte_compressdev/rte_comp.c
b/lib/librte_compressdev/rte_comp.c
index ea7692ae7..9711a86c8 100644
--- a/lib/librte_compressdev/rte_comp.c
+++ b/lib/librte_compressdev/rte_comp.c
@@ -36,6 +36,10 @@ rte_comp_get_feature_name(uint64_t flag)
 		return "SHA2_SHA256_HASH";
 	case RTE_COMP_FF_SHAREABLE_PRIV_XFORM:
 		return "SHAREABLE_PRIV_XFORM";
+	case RTE_COMP_FF_HUFFMAN_FIXED:
+		return "HUFFMAN_FIXED";
+	case RTE_COMP_FF_HUFFMAN_DYNAMIC:
+		return "HUFFMAN_DYNAMIC";
[Fiona] Thanks for adding this.
Just in case any other algos are added in future which also use Huffman
encoding I'd suggest renaming to include DEFLATE, e.g.
RTE_COMP_FF_DFL_HUFFMAN_FIXED/DYNAMIC
Since these flags are set per algorithm (in capabilities),
do you think it is needed to specify DEFLATE?
quoted
 	default:
 		return NULL;
 	}
diff --git a/lib/librte_compressdev/rte_comp.h
b/lib/librte_compressdev/rte_comp.h
index 3ce6a80e1..c6a542c0c 100644
--- a/lib/librte_compressdev/rte_comp.h
+++ b/lib/librte_compressdev/rte_comp.h
@@ -62,6 +62,10 @@ extern "C" {
  * to create as many priv_xforms as it expects to have stateless
  * operations in-flight.
  */
+#define RTE_COMP_FF_HUFFMAN_FIXED		(1ULL << 13)
+/**< Fixed huffman enconding is supported */
+#define RTE_COMP_FF_HUFFMAN_DYNAMIC		(1ULL << 14)
+/**< Dynamic huffman enconding is supported */
[Fiona] typo encoding.
Will fix.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help