From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 3DD70AAD0 for ; Tue, 17 Apr 2018 15:36:04 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Apr 2018 06:36:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,463,1517904000"; d="scan'208";a="34915466" Received: from silpixa00399501.ir.intel.com ([10.237.223.69]) by orsmga006.jf.intel.com with ESMTP; 17 Apr 2018 06:36:02 -0700 From: Lee Daly To: dev@dpdk.org Cc: pablo.de.lara.guarch@intel.com, greg.b.tucker@intel.com, deepak.k.jain@intel.com, fiona.trahe@intel.com, Lee Daly Date: Tue, 17 Apr 2018 14:35:32 +0100 Message-Id: <1523972132-6894-12-git-send-email-lee.daly@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1523972132-6894-1-git-send-email-lee.daly@intel.com> References: <1523038388-29964-1-git-send-email-lee.daly@intel.com> <1523972132-6894-1-git-send-email-lee.daly@intel.com> Subject: [dpdk-dev] [PATCH v3 11/11] compress/isal: add ISA-L compression PMD docs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Apr 2018 13:36:04 -0000 Signed-off-by: Lee Daly --- MAINTAINERS | 5 ++ devtools/test-build.sh | 4 ++ doc/guides/compressdevs/features/isal.ini | 40 +++++++++++++ doc/guides/compressdevs/index.rst | 1 + doc/guides/compressdevs/isal.rst | 94 +++++++++++++++++++++++++++++++ 5 files changed, 144 insertions(+) create mode 100644 doc/guides/compressdevs/features/isal.ini create mode 100644 doc/guides/compressdevs/isal.rst diff --git a/MAINTAINERS b/MAINTAINERS index 37b9b1d..baccae7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -771,6 +771,11 @@ Compression Drivers M: Pablo de Lara T: git://dpdk.org/next/dpdk-next-crypto +ISA-L PMD +M: Lee Daly +F: drivers/compress/isal +F: doc/guides/compressdevs/isal.rst +F: doc/guides/compressdevs/features/isal.ini Eventdev Drivers ---------------- diff --git a/devtools/test-build.sh b/devtools/test-build.sh index 3362edc..66f3ece 100755 --- a/devtools/test-build.sh +++ b/devtools/test-build.sh @@ -45,6 +45,7 @@ default_path=$PATH # - DPDK_DEP_SSL (y/[n]) # - DPDK_DEP_SZE (y/[n]) # - DPDK_DEP_ZLIB (y/[n]) +# - DPDK_DEP_ISAL (y/[n]) # - DPDK_MAKE_JOBS (int) # - DPDK_NOTIFY (notify-send) # - FLEXRAN_SDK @@ -129,6 +130,7 @@ reset_env () unset DPDK_DEP_SSL unset DPDK_DEP_SZE unset DPDK_DEP_ZLIB + unset DPDK_DEP_ISAL unset AESNI_MULTI_BUFFER_LIB_PATH unset ARMV8_CRYPTO_LIB_PATH unset FLEXRAN_SDK @@ -178,6 +180,8 @@ config () # test "$DPDK_DEP_ZLIB" != y || \ sed -ri 's,(BNX2X_PMD=)n,\1y,' $1/.config sed -ri 's,(NFP_PMD=)n,\1y,' $1/.config + test "$DPDK_DEP_ISAL" != y || \ + sed -ri 's,(ISAL_PMD=)n,\1y,' $1/.config test "$DPDK_DEP_PCAP" != y || \ sed -ri 's,(PCAP=)n,\1y,' $1/.config test -z "$ARMV8_CRYPTO_LIB_PATH" || \ diff --git a/doc/guides/compressdevs/features/isal.ini b/doc/guides/compressdevs/features/isal.ini new file mode 100644 index 0000000..82caa17 --- /dev/null +++ b/doc/guides/compressdevs/features/isal.ini @@ -0,0 +1,40 @@ +; +; Refer to default.ini for the full list of available PMD features. +; +; Supported features of 'ISA-L' compression driver. +; +[FEATURES] +HW Accelerated = N +CPU SSE = Y +CPU AVX = Y +CPU AVX2 = Y +CPU AVX512 = Y +CPU NEON = N +Stateful = N +By-Pass = N +Chained mbufs = N +; +; Supported algorithims of the 'ISA-L' compression driver. +; +[ALGORITHIM] +Deflate = Y +LZS = N +; +; Supported checksums of the 'ISA-L' compression driver. +; +[CHECKSUMS] +Adler32 = Y +Crc32 = Y +Adler32&Crc32 = N +; +; Supported huffman codes of the 'ISA-L' compression driver. +; +[HUFFMAN CODES] +Default = Y +Fixed = Y +Dynamic = N +Semi-Dynamic = Y +; +; Supported others of the 'ISA-L' compression driver. +; +[OTHERS] diff --git a/doc/guides/compressdevs/index.rst b/doc/guides/compressdevs/index.rst index 9271cee..bc59ce8 100644 --- a/doc/guides/compressdevs/index.rst +++ b/doc/guides/compressdevs/index.rst @@ -10,3 +10,4 @@ Compression Device Drivers :numbered: overview + isal diff --git a/doc/guides/compressdevs/isal.rst b/doc/guides/compressdevs/isal.rst new file mode 100644 index 0000000..d76f7ae --- /dev/null +++ b/doc/guides/compressdevs/isal.rst @@ -0,0 +1,94 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2018 Intel Corporation. + +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 algorithim for both compression and decompression + +Features +-------- + +ISA-L PMD has support for: + +Compression/Decompression algorithm: + +* DEFLATE + +Huffman code type: + +* DEFAULT +* FIXED +* DYNAMIC + +Checksum support: + +* Adler32 +* CRC32 + +Window size support: + +* 32K + +Limitations +----------- + +* Chained mbufs are not supported. + +* Compressdev level 0, no compression, is not supported. ISA-L level 0 used for + +fixed huffman codes. + +* Out of order operations are not supported + +Installation +------------ + +* To build DPDK with Intel's ISA-L library, the user is required to download + +the library from + +``_. + +* Once downloaded, the user needs to build the library, the ISA-L autotools + +are usualy sufficient:: + + ./autogen.sh + ./configure + +make can be used to install the library on their system, before building DPDK:: + + make + sudo make install + +* To build with meson, the "libisal.pc" file, must be copied into "pkgconfig", + +e.g. /usr/lib/pkgconfig or /usr/lib64/pkgconfig depending on your system, + +for meson to find the ISA-L library. "libisal.pc" is located in library sources,:: + + cp isal/libisal.pc /usr/lib/pkgconfig/ + +instructions on how to download below. + + +Initialization +-------------- + +In order to enable this virtual compression PMD, user must: + +* Set CONFIG_RTE_LIBRTE_PMD_ISAL=y in config/common_base. + +To use the PMD in an application, user must: + +* Call rte_vdev_init("compress_isal") within the application. + +* Use --vdev="compress_isal" in the EAL options, which will call rte_vdev_init() internally. + +The following parameters (all optional) can be provided in the previous two calls: + +* socket_id: Specify the socket where the memory for the device is going to be allocated + (by default, socket_id will be the socket where the core that is creating the PMD is running on). -- 2.7.4