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.cb/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.cb/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.hb/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.