DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] doc/compress: add compression level guide for ISA-L
@ 2018-05-23 15:54 Lee Daly
  2018-05-24  9:07 ` Kovacevic, Marko
  2018-05-24 11:04 ` [dpdk-dev] [PATCH v2] " Lee Daly
  0 siblings, 2 replies; 4+ messages in thread
From: Lee Daly @ 2018-05-23 15:54 UTC (permalink / raw)
  To: pablo.de.lara.guarch; +Cc: dev, hailiangx.e.wang, Lee Daly

This expands the ISA-L documentation to give more a detailed explanation
of the mapping between the compressdev API levels and PMD levels.

Signed-off-by: Lee Daly <lee.daly@intel.com>
---
 doc/guides/compressdevs/isal.rst | 63 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 55 insertions(+), 8 deletions(-)

diff --git a/doc/guides/compressdevs/isal.rst b/doc/guides/compressdevs/isal.rst
index 2024437..9c8dfea 100644
--- a/doc/guides/compressdevs/isal.rst
+++ b/doc/guides/compressdevs/isal.rst
@@ -6,7 +6,8 @@ ISA-L Compression Poll Mode Driver
 
 The ISA-L PMD (**librte_pmd_isal_comp**) provides poll mode compression &
 decompression driver support for utilizing Intel ISA-L library,
-which implements the deflate algorithm for both compression and decompression
+which implements the deflate algorithm for both Deflate(compression) and Inflate(decompression).
+
 
 Features
 --------
@@ -15,25 +16,71 @@ ISA-L PMD has support for:
 
 Compression/Decompression algorithm:
 
-* DEFLATE
+    * DEFLATE
 
 Huffman code type:
 
-* FIXED
-* DYNAMIC
+    * FIXED
+    * DYNAMIC
 
 Window size support:
 
-* 32K
+    * 32K
+
+Level guide:
+
+The ISA-L levels have been mapped to somewhat correspond to the same ZLIB level, i.e. ZLIB L1 gives a compression ratio similar to ISA-L L1.
+Compressdev level 0 enables "No Compression", which passes the uncompressed data to the output buffer, plus deflate headers.
+The ISA-L library does not support this, therefore compressdev level 0 is not supported.
+
+The compressdev API has 10 levels, 0-9. ISA-L has 4 levels of compression, 0-3.
+As a result the level mappings from the API to the PMD are shown below.
+
+.. _table_ISA-L_compression_levels:
+
+.. table:: Level mapping from Compressdev to ISA-L PMD.
+
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | Compressdev | PMD Functionality                            | Internal ISA-L                                |
+   | API Level   |                                              | Level                                         |
+   +=============+==============================================+===============================================+
+   | 0           | No compression, Not Supported                | ---                                           |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 1           | Dynamic (Fast compression)                   | 1                                             |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 2           | Dynamic                                      | 2                                             |
+   |             | (Higher compression ratio)                   |                                               |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 3           | Dynamic                                      | 3                                             |
+   |             | (Best compression ratio)                     | (Level 2 if                                   |
+   |             |                                              | no AVX512/AVX2)                               |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 4           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 5           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 6           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 7           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 8           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 9           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+
+.. Note::
+
+ The above table only shows mapping when API calls for dynamic compression.
+ For fixed compression, regardless of API level, internally ISA-L level 0 is always used.
 
 Limitations
 -----------
 
-* Chained mbufs are not supported, for future release.
+* Chained mbufs will not be supported until a future release, meaning max data size being passed to PMD through a single mbuf is 64K - 1. If data is larger than this it will need to be split up and sent as multiple operations.
 
-* Compressdev level 0, no compression, is not supported. ISA-L level 0 used for fixed huffman codes.
+* Compressdev level 0, no compression, is not supported.
 
-* Checksums are not supported, for future release.
+* Checksums will not be supported until future release.
 
 Installation
 ------------
-- 
2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH] doc/compress: add compression level guide for ISA-L
  2018-05-23 15:54 [dpdk-dev] [PATCH] doc/compress: add compression level guide for ISA-L Lee Daly
@ 2018-05-24  9:07 ` Kovacevic, Marko
  2018-05-24 11:04 ` [dpdk-dev] [PATCH v2] " Lee Daly
  1 sibling, 0 replies; 4+ messages in thread
From: Kovacevic, Marko @ 2018-05-24  9:07 UTC (permalink / raw)
  To: Daly, Lee, De Lara Guarch, Pablo; +Cc: dev, Wang, HailiangX E, Daly, Lee

> This expands the ISA-L documentation to give more a detailed explanation of
> the mapping between the compressdev API levels and PMD levels.
> 
> Signed-off-by: Lee Daly <lee.daly@intel.com>
> ---
>  doc/guides/compressdevs/isal.rst | 63
> +++++++++++++++++++++++++++++++++++-----
>  1 file changed, 55 insertions(+), 8 deletions(-)
> 
> diff --git a/doc/guides/compressdevs/isal.rst
> b/doc/guides/compressdevs/isal.rst
> index 2024437..9c8dfea 100644
> --- a/doc/guides/compressdevs/isal.rst
> +++ b/doc/guides/compressdevs/isal.rst
> @@ -6,7 +6,8 @@ ISA-L Compression Poll Mode Driver
>

 
<...>

> 
>  Limitations
>  -----------
> 
> -* Chained mbufs are not supported, for future release.
> +* Chained mbufs will not be supported until a future release, meaning max
> data size being passed to PMD through a single mbuf is 64K - 1. If data is larger
> than this it will need to be split up and sent as multiple operations.
>

For the above line all I'll say is in the .rst file keep it to 80 characters per line as its way to long
In this case everything else is ok for me. Once you make the changes you can add my ack.

Acked-by: Marko Kovacevic <marko.kovacevic@intel.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [dpdk-dev] [PATCH v2] doc/compress: add compression level guide for ISA-L
  2018-05-23 15:54 [dpdk-dev] [PATCH] doc/compress: add compression level guide for ISA-L Lee Daly
  2018-05-24  9:07 ` Kovacevic, Marko
@ 2018-05-24 11:04 ` Lee Daly
  2018-05-28  1:08   ` Thomas Monjalon
  1 sibling, 1 reply; 4+ messages in thread
From: Lee Daly @ 2018-05-24 11:04 UTC (permalink / raw)
  To: pablo.de.lara.guarch; +Cc: dev, Lee Daly

This expands the ISA-L documentation to give more a detailed explanation
of the mapping between the compressdev API levels and PMD levels.

Signed-off-by: Lee Daly <lee.daly@intel.com>
Acked-by: Marko Kovacevic <marko.kovacevic@intel.com
---
 doc/guides/compressdevs/isal.rst | 65 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 57 insertions(+), 8 deletions(-)

diff --git a/doc/guides/compressdevs/isal.rst b/doc/guides/compressdevs/isal.rst
index 2024437..276ff06 100644
--- a/doc/guides/compressdevs/isal.rst
+++ b/doc/guides/compressdevs/isal.rst
@@ -6,7 +6,8 @@ ISA-L Compression Poll Mode Driver
 
 The ISA-L PMD (**librte_pmd_isal_comp**) provides poll mode compression &
 decompression driver support for utilizing Intel ISA-L library,
-which implements the deflate algorithm for both compression and decompression
+which implements the deflate algorithm for both Deflate(compression) and Inflate(decompression).
+
 
 Features
 --------
@@ -15,25 +16,73 @@ ISA-L PMD has support for:
 
 Compression/Decompression algorithm:
 
-* DEFLATE
+    * DEFLATE
 
 Huffman code type:
 
-* FIXED
-* DYNAMIC
+    * FIXED
+    * DYNAMIC
 
 Window size support:
 
-* 32K
+    * 32K
+
+Level guide:
+
+The ISA-L levels have been mapped to somewhat correspond to the same ZLIB level,
+i.e. ZLIB L1 gives a compression ratio similar to ISA-L L1.
+Compressdev level 0 enables "No Compression", which passes the uncompressed
+data to the output buffer, plus deflate headers.
+The ISA-L library does not support this, therefore compressdev level 0 is not supported.
+
+The compressdev API has 10 levels, 0-9. ISA-L has 4 levels of compression, 0-3.
+As a result the level mappings from the API to the PMD are shown below.
+
+.. _table_ISA-L_compression_levels:
+
+.. table:: Level mapping from Compressdev to ISA-L PMD.
+
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | Compressdev | PMD Functionality                            | Internal ISA-L                                |
+   | API Level   |                                              | Level                                         |
+   +=============+==============================================+===============================================+
+   | 0           | No compression, Not Supported                | ---                                           |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 1           | Dynamic (Fast compression)                   | 1                                             |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 2           | Dynamic                                      | 2                                             |
+   |             | (Higher compression ratio)                   |                                               |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 3           | Dynamic                                      | 3                                             |
+   |             | (Best compression ratio)                     | (Level 2 if                                   |
+   |             |                                              | no AVX512/AVX2)                               |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 4           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 5           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 6           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 7           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 8           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+   | 9           | Dynamic (Best compression ratio)             | Same as above                                 |
+   +-------------+----------------------------------------------+-----------------------------------------------+
+
+.. Note::
+
+ The above table only shows mapping when API calls for dynamic compression.
+ For fixed compression, regardless of API level, internally ISA-L level 0 is always used.
 
 Limitations
 -----------
 
-* Chained mbufs are not supported, for future release.
+* Chained mbufs will not be supported until a future release, meaning max data size being passed to PMD through a single mbuf is 64K - 1. If data is larger than this it will need to be split up and sent as multiple operations.
 
-* Compressdev level 0, no compression, is not supported. ISA-L level 0 used for fixed huffman codes.
+* Compressdev level 0, no compression, is not supported.
 
-* Checksums are not supported, for future release.
+* Checksums will not be supported until future release.
 
 Installation
 ------------
-- 
2.7.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] [PATCH v2] doc/compress: add compression level guide for ISA-L
  2018-05-24 11:04 ` [dpdk-dev] [PATCH v2] " Lee Daly
@ 2018-05-28  1:08   ` Thomas Monjalon
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2018-05-28  1:08 UTC (permalink / raw)
  To: Lee Daly; +Cc: dev, pablo.de.lara.guarch

24/05/2018 13:04, Lee Daly:
> This expands the ISA-L documentation to give more a detailed explanation
> of the mapping between the compressdev API levels and PMD levels.
> 
> Signed-off-by: Lee Daly <lee.daly@intel.com>
> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com

Applied, thanks

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-28  1:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-23 15:54 [dpdk-dev] [PATCH] doc/compress: add compression level guide for ISA-L Lee Daly
2018-05-24  9:07 ` Kovacevic, Marko
2018-05-24 11:04 ` [dpdk-dev] [PATCH v2] " Lee Daly
2018-05-28  1:08   ` Thomas Monjalon

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).