> > > >> -----Original Message----- > >> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Shally Verma > >> Sent: Tuesday, May 15, 2018 11:32 AM > >> To: De Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com> > >> Cc: Trahe, Fiona <fiona.tr...@intel.com>; dev@dpdk.org; > >> pathr...@caviumnetworks.com; Sunila Sahu > >> <sunila.s...@caviumnetworks.com>; Ashish Gupta > >> <ashish.gu...@caviumnetworks.com> > >> Subject: [dpdk-dev] [PATCH v1 2/6] compress/zlib: add device setup > >> PMD ops > >> > >>diff --git a/drivers/compress/zlib/zlib_pmd_ops.c > >>b/drivers/compress/zlib/zlib_pmd_ops.c > >>new file mode 100644 > >>index 0000000..0bd42f3 > >>--- /dev/null > >>+++ b/drivers/compress/zlib/zlib_pmd_ops.c > >>@@ -0,0 +1,238 @@ > >>+/* SPDX-License-Identifier: BSD-3-Clause > >>+ * Copyright(c) 2018 Cavium Networks > >>+ */ > >>+ > >>+#include <string.h> > >>+ > >>+#include <rte_common.h> > >>+#include <rte_malloc.h> > >>+#include <rte_compressdev_pmd.h> > >>+ > >>+#include "zlib_pmd_private.h" > >>+ > >>+static const struct rte_compressdev_capabilities zlib_pmd_capabilities[] > = { > >>+ { /* Deflate */ > >>+ .algo = RTE_COMP_ALGO_DEFLATE, > >>+ .comp_feature_flags = > RTE_COMP_FF_SHAREABLE_PRIV_XFORM, > >[Lee] The priv_xform structure in this case is not shareable, as it > >contains your zlib_stream structure, which contains zlibs own zstream > >struct. This is not read only, the contents of this zstream will be written > >to, > which means it is not shareable across queue pairs or devices. > > > [Shally] Per my understanding, SHAREABLE_PRIV_XFORM here means xform > is shareable by all ops in one single enqueue_burst() but not across devices > or qps by multiple threads in parallel. Does your implementation support > such usage of shareable priv_xforms? > > Thanks for review. > Shally [Lee] Hey Shally, I have just clarified this with Fiona and Pablo and the intended use of Shareable priv xforms is to allow a xform to be shared across devices & qps not just all the ops in a burst, yes the ISA-L PMD has a shareable private xform due to all its contents being read only.
> > >>+ .window_size = { > >>+ .min = 8, > >>+ .max = 15, > >>+ .increment = 2 > >>+ }, > >>+ }, > >>+ > >>+ RTE_COMP_END_OF_CAPABILITIES_LIST() > >>+