All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
To: fiona.trahe@intel.com, Shally.Verma@cavium.com,
	ahmed.mansour@nxp.com, lee.daly@intel.com,
	tomaszx.jozwiak@intel.com
Cc: dev@dpdk.org, Pablo de Lara <pablo.de.lara.guarch@intel.com>
Subject: [PATCH 5/5] test/compress: add multi session test
Date: Wed, 28 Feb 2018 14:00:10 +0000	[thread overview]
Message-ID: <20180228140010.27251-6-pablo.de.lara.guarch@intel.com> (raw)
In-Reply-To: <20180228140010.27251-1-pablo.de.lara.guarch@intel.com>

Add test that checks if multiple sessions can be
handled on a single enqueue call.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 test/test/test_compressdev.c | 280 +++++++++++++++++++++++++++++++------------
 1 file changed, 202 insertions(+), 78 deletions(-)

diff --git a/test/test/test_compressdev.c b/test/test/test_compressdev.c
index 8f19413cd..5a7635d06 100644
--- a/test/test/test_compressdev.c
+++ b/test/test/test_compressdev.c
@@ -25,7 +25,7 @@
 #define COMPRESS_BUF_SIZE_RATIO 1.3
 #define NUM_MBUFS 16
 #define NUM_OPS 16
-#define NUM_SESSIONS 1
+#define NUM_MAX_SESSIONS 16
 #define NUM_MAX_INFLIGHT_OPS 128
 #define CACHE_SIZE 0
 
@@ -53,8 +53,8 @@ struct comp_testsuite_params {
 	struct rte_mempool *mbuf_pool;
 	struct rte_mempool *sess_pool;
 	struct rte_mempool *op_pool;
-	struct rte_comp_xform def_comp_xform;
-	struct rte_comp_xform def_decomp_xform;
+	struct rte_comp_xform *def_comp_xform;
+	struct rte_comp_xform *def_decomp_xform;
 };
 
 static struct comp_testsuite_params testsuite_params = { 0 };
@@ -67,6 +67,8 @@ testsuite_teardown(void)
 	rte_mempool_free(ts_params->mbuf_pool);
 	rte_mempool_free(ts_params->sess_pool);
 	rte_mempool_free(ts_params->op_pool);
+	rte_free(ts_params->def_comp_xform);
+	rte_free(ts_params->def_decomp_xform);
 }
 
 static int
@@ -109,7 +111,7 @@ testsuite_setup(void)
 	 */
 	uint32_t session_size = rte_compressdev_get_private_session_size(0);
 	ts_params->sess_pool = rte_mempool_create("session_pool",
-						NUM_SESSIONS * 2,
+						NUM_MAX_SESSIONS * 2,
 						session_size,
 						0, 0, NULL, NULL, NULL,
 						NULL, rte_socket_id(), 0);
@@ -125,20 +127,25 @@ testsuite_setup(void)
 		goto exit;
 	}
 
+	ts_params->def_comp_xform =
+			rte_malloc(NULL, sizeof(struct rte_comp_xform), 0);
+	ts_params->def_decomp_xform =
+			rte_malloc(NULL, sizeof(struct rte_comp_xform), 0);
+
 	/* Initializes default values for compress/decompress xforms */
-	ts_params->def_comp_xform.next = NULL;
-	ts_params->def_comp_xform.type = RTE_COMP_COMPRESS;
-	ts_params->def_comp_xform.compress.algo = RTE_COMP_DEFLATE,
-	ts_params->def_comp_xform.compress.deflate.huffman = RTE_COMP_DEFAULT;
-	ts_params->def_comp_xform.compress.level = RTE_COMP_LEVEL_PMD_DEFAULT;
-	ts_params->def_comp_xform.compress.chksum = RTE_COMP_NONE;
-	ts_params->def_comp_xform.compress.window_size = DEFAULT_WINDOW_SIZE;
-
-	ts_params->def_decomp_xform.next = NULL;
-	ts_params->def_decomp_xform.type = RTE_COMP_DECOMPRESS;
-	ts_params->def_decomp_xform.decompress.algo = RTE_COMP_DEFLATE,
-	ts_params->def_decomp_xform.decompress.chksum = RTE_COMP_NONE;
-	ts_params->def_decomp_xform.decompress.window_size = DEFAULT_WINDOW_SIZE;
+	ts_params->def_comp_xform->next = NULL;
+	ts_params->def_comp_xform->type = RTE_COMP_COMPRESS;
+	ts_params->def_comp_xform->compress.algo = RTE_COMP_DEFLATE,
+	ts_params->def_comp_xform->compress.deflate.huffman = RTE_COMP_DEFAULT;
+	ts_params->def_comp_xform->compress.level = RTE_COMP_LEVEL_PMD_DEFAULT;
+	ts_params->def_comp_xform->compress.chksum = RTE_COMP_NONE;
+	ts_params->def_comp_xform->compress.window_size = DEFAULT_WINDOW_SIZE;
+
+	ts_params->def_decomp_xform->next = NULL;
+	ts_params->def_decomp_xform->type = RTE_COMP_DECOMPRESS;
+	ts_params->def_decomp_xform->decompress.algo = RTE_COMP_DEFLATE,
+	ts_params->def_decomp_xform->decompress.chksum = RTE_COMP_NONE;
+	ts_params->def_decomp_xform->decompress.window_size = DEFAULT_WINDOW_SIZE;
 
 	return TEST_SUCCESS;
 
@@ -359,8 +366,9 @@ static int
 test_deflate_comp_decomp(const char * const test_bufs[],
 		unsigned int num_bufs,
 		uint16_t buf_idx[],
-		const struct rte_comp_xform *compress_xform,
-		const struct rte_comp_xform *decompress_xform,
+		struct rte_comp_xform *compress_xforms[],
+		struct rte_comp_xform *decompress_xforms[],
+		unsigned int num_xforms,
 		enum rte_comp_op_type state,
 		enum zlib_direction zlib_dir)
 {
@@ -370,7 +378,7 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 	struct rte_mbuf *comp_bufs[num_bufs];
 	struct rte_comp_op *ops[num_bufs];
 	struct rte_comp_op *ops_processed[num_bufs];
-	struct rte_comp_session *sess = NULL;
+	struct rte_comp_session *sess[num_xforms];
 	uint16_t num_enqd, num_deqd;
 	struct priv_op_data *priv_data;
 	char *data_ptr;
@@ -381,6 +389,7 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 	memset(comp_bufs, 0, sizeof(struct rte_mbuf *) * num_bufs);
 	memset(ops, 0, sizeof(struct rte_comp_op *) * num_bufs);
 	memset(ops_processed, 0, sizeof(struct rte_comp_op *) * num_bufs);
+	memset(sess, 0, sizeof(struct rte_comp_session *) * num_xforms);
 
 	/* Prepare the source mbufs with the data */
 	ret = rte_pktmbuf_alloc_bulk(ts_params->mbuf_pool, uncomp_bufs, num_bufs);
@@ -447,8 +456,9 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 	/* Compress data (either with Zlib API or compressdev API */
 	if (zlib_dir == ZLIB_COMPRESS || zlib_dir == ZLIB_ALL) {
 		for (i = 0; i < num_bufs; i++) {
-			ret = compress_zlib(ops[i],
-					&compress_xform->compress,
+			const struct rte_comp_compress_xform *compress_xform =
+				&compress_xforms[i % num_xforms]->compress;
+			ret = compress_zlib(ops[i], compress_xform,
 					DEFAULT_MEM_LEVEL);
 			if (ret < 0)
 				goto err;
@@ -457,19 +467,21 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 		}
 	} else {
 		num_deqd = 0;
-		/* Create compress session */
-		sess = rte_compressdev_session_create(ts_params->sess_pool);
-		ret = rte_compressdev_session_init(0, sess, compress_xform,
-			ts_params->sess_pool);
-		if (ret < 0) {
-			RTE_LOG(ERR, USER1,
-				"Compression session could not be created\n");
-			goto err;
+		/* Create compress sessions */
+		for (i = 0; i < num_xforms; i++) {
+			sess[i] = rte_compressdev_session_create(ts_params->sess_pool);
+			ret = rte_compressdev_session_init(0, sess[i], compress_xforms[i],
+				ts_params->sess_pool);
+			if (ret < 0) {
+				RTE_LOG(ERR, USER1,
+					"Compression session could not be created\n");
+				goto err;
+			}
 		}
 
 		/* Attach session to operation */
 		for (i = 0; i < num_bufs; i++)
-			ops[i]->session = sess;
+			ops[i]->session = sess[i % num_xforms];
 
 		/* Enqueue and dequeue all operations */
 		num_enqd = rte_compressdev_enqueue_burst(0, 0, ops, num_bufs);
@@ -485,20 +497,25 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 		} while (num_deqd < num_enqd);
 
 		/* Free compress session */
-		rte_compressdev_session_clear(0, sess);
-		rte_compressdev_session_terminate(sess);
-		sess = NULL;
+		for (i = 0; i < num_xforms; i++) {
+			rte_compressdev_session_clear(0, sess[i]);
+			rte_compressdev_session_terminate(sess[i]);
+			sess[i] = NULL;
+		}
 	}
 
-	enum rte_comp_huffman huffman_type =
-		compress_xform->compress.deflate.huffman;
 	for (i = 0; i < num_bufs; i++) {
 		priv_data = (struct priv_op_data *) (ops_processed[i] + 1);
+		uint16_t xform_idx = priv_data->orig_idx % num_xforms;
+		const struct rte_comp_compress_xform *compress_xform =
+				&compress_xforms[xform_idx]->compress;
+		enum rte_comp_huffman huffman_type =
+			compress_xform->deflate.huffman;
 		RTE_LOG(DEBUG, USER1, "Buffer %u compressed from %u to %u bytes "
-			"(level = %u, huffman = %s)\n",
+			"(level = %d, huffman = %s)\n",
 			buf_idx[priv_data->orig_idx],
 			ops_processed[i]->consumed, ops_processed[i]->produced,
-			compress_xform->compress.level,
+			compress_xform->level,
 			huffman_type_strings[huffman_type]);
 	}
 
@@ -581,8 +598,12 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 	/* Decompress data (either with Zlib API or compressdev API */
 	if (zlib_dir == ZLIB_DECOMPRESS || zlib_dir == ZLIB_ALL) {
 		for (i = 0; i < num_bufs; i++) {
-			ret = decompress_zlib(ops[i],
-					&decompress_xform->decompress);
+			priv_data = (struct priv_op_data *) (ops[i] + 1);
+			uint16_t xform_idx = priv_data->orig_idx % num_xforms;
+			const struct rte_comp_decompress_xform *decompress_xform =
+				&decompress_xforms[xform_idx]->decompress;
+
+			ret = decompress_zlib(ops[i], decompress_xform);
 			if (ret < 0)
 				goto err;
 
@@ -590,19 +611,24 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 		}
 	} else {
 		num_deqd = 0;
-		/* Create compress session */
-		sess = rte_compressdev_session_create(ts_params->sess_pool);
-		ret = rte_compressdev_session_init(0, sess, decompress_xform,
-			ts_params->sess_pool);
-		if (ret < 0) {
-			RTE_LOG(ERR, USER1,
-				"Decompression session could not be created\n");
-			goto err;
+		/* Create decompress session */
+		for (i = 0; i < num_xforms; i++) {
+			sess[i] = rte_compressdev_session_create(ts_params->sess_pool);
+			ret = rte_compressdev_session_init(0, sess[i],
+				decompress_xforms[i], ts_params->sess_pool);
+			if (ret < 0) {
+				RTE_LOG(ERR, USER1,
+					"Decompression session could not be created\n");
+				goto err;
+			}
 		}
 
 		/* Attach session to operation */
-		for (i = 0; i < num_bufs; i++)
-			ops[i]->session = sess;
+		for (i = 0; i < num_bufs; i++) {
+			priv_data = (struct priv_op_data *) (ops[i] + 1);
+			uint16_t sess_idx = priv_data->orig_idx % num_xforms;
+			ops[i]->session = sess[sess_idx];
+		}
 
 		/* Enqueue and dequeue all operations */
 		num_enqd = rte_compressdev_enqueue_burst(0, 0, ops, num_bufs);
@@ -618,9 +644,11 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 		} while (num_deqd < num_enqd);
 
 		/* Free compress session */
-		rte_compressdev_session_clear(0, sess);
-		rte_compressdev_session_terminate(sess);
-		sess = NULL;
+		for (i = 0; i < num_xforms; i++) {
+			rte_compressdev_session_clear(0, sess[i]);
+			rte_compressdev_session_terminate(sess[i]);
+			sess[i] = NULL;
+		}
 	}
 
 	for (i = 0; i < num_bufs; i++) {
@@ -679,8 +707,10 @@ test_deflate_comp_decomp(const char * const test_bufs[],
 		rte_comp_op_free(ops[i]);
 		rte_comp_op_free(ops_processed[i]);
 	}
-	rte_compressdev_session_clear(0, sess);
-	rte_compressdev_session_terminate(sess);
+	for (i = 0; i < num_xforms; i++) {
+		rte_compressdev_session_clear(0, sess[i]);
+		rte_compressdev_session_terminate(sess[i]);
+	}
 
 	return -1;
 }
@@ -691,11 +721,13 @@ test_compressdev_deflate_stateless_fixed(void)
 	struct comp_testsuite_params *ts_params = &testsuite_params;
 	const char *test_buffer;
 	uint16_t i;
-	struct rte_comp_xform compress_xform;
+	int ret;
+	struct rte_comp_xform *compress_xform =
+			rte_malloc(NULL, sizeof(struct rte_comp_xform), 0);
 
-	memcpy(&compress_xform, &ts_params->def_comp_xform,
+	memcpy(compress_xform, ts_params->def_comp_xform,
 			sizeof(struct rte_comp_xform));
-	compress_xform.compress.deflate.huffman = RTE_COMP_FIXED;
+	compress_xform->compress.deflate.huffman = RTE_COMP_FIXED;
 
 	for (i = 0; i < RTE_DIM(compress_test_bufs); i++) {
 		test_buffer = compress_test_bufs[i];
@@ -705,21 +737,31 @@ test_compressdev_deflate_stateless_fixed(void)
 				&i,
 				&compress_xform,
 				&ts_params->def_decomp_xform,
+				1,
 				RTE_COMP_OP_STATELESS,
-				ZLIB_DECOMPRESS) < 0)
-			return TEST_FAILED;
+				ZLIB_DECOMPRESS) < 0) {
+			ret = TEST_FAILED;
+			goto exit;
+		}
 
 		/* Compress with Zlib, decompress with compressdev */
 		if (test_deflate_comp_decomp(&test_buffer, 1,
 				&i,
 				&compress_xform,
 				&ts_params->def_decomp_xform,
+				1,
 				RTE_COMP_OP_STATELESS,
-				ZLIB_COMPRESS) < 0)
-			return TEST_FAILED;
+				ZLIB_COMPRESS) < 0) {
+			ret = TEST_FAILED;
+			goto exit;
+		}
 	}
 
-	return TEST_SUCCESS;
+	ret = TEST_SUCCESS;
+
+exit:
+	rte_free(compress_xform);
+	return ret;
 }
 
 static int
@@ -728,11 +770,13 @@ test_compressdev_deflate_stateless_dynamic(void)
 	struct comp_testsuite_params *ts_params = &testsuite_params;
 	const char *test_buffer;
 	uint16_t i;
-	struct rte_comp_xform compress_xform;
+	int ret;
+	struct rte_comp_xform *compress_xform =
+			rte_malloc(NULL, sizeof(struct rte_comp_xform), 0);
 
-	memcpy(&compress_xform, &ts_params->def_comp_xform,
+	memcpy(compress_xform, ts_params->def_comp_xform,
 			sizeof(struct rte_comp_xform));
-	compress_xform.compress.deflate.huffman = RTE_COMP_DYNAMIC;
+	compress_xform->compress.deflate.huffman = RTE_COMP_DYNAMIC;
 
 	for (i = 0; i < RTE_DIM(compress_test_bufs); i++) {
 		test_buffer = compress_test_bufs[i];
@@ -742,21 +786,31 @@ test_compressdev_deflate_stateless_dynamic(void)
 				&i,
 				&compress_xform,
 				&ts_params->def_decomp_xform,
+				1,
 				RTE_COMP_OP_STATELESS,
-				ZLIB_DECOMPRESS) < 0)
-			return TEST_FAILED;
+				ZLIB_DECOMPRESS) < 0) {
+			ret = TEST_FAILED;
+			goto exit;
+		}
 
 		/* Compress with Zlib, decompress with compressdev */
 		if (test_deflate_comp_decomp(&test_buffer, 1,
 				&i,
 				&compress_xform,
 				&ts_params->def_decomp_xform,
+				1,
 				RTE_COMP_OP_STATELESS,
-				ZLIB_COMPRESS) < 0)
-			return TEST_FAILED;
+				ZLIB_COMPRESS) < 0) {
+			ret = TEST_FAILED;
+			goto exit;
+		}
 	}
 
-	return TEST_SUCCESS;
+	ret = TEST_SUCCESS;
+
+exit:
+	rte_free(compress_xform);
+	return ret;
 }
 
 static int
@@ -775,6 +829,7 @@ test_compressdev_deflate_stateless_multi_op(void)
 			buf_idx,
 			&ts_params->def_comp_xform,
 			&ts_params->def_decomp_xform,
+			1,
 			RTE_COMP_OP_STATELESS,
 			ZLIB_DECOMPRESS) < 0)
 		return TEST_FAILED;
@@ -784,6 +839,7 @@ test_compressdev_deflate_stateless_multi_op(void)
 			buf_idx,
 			&ts_params->def_comp_xform,
 			&ts_params->def_decomp_xform,
+			1,
 			RTE_COMP_OP_STATELESS,
 			ZLIB_COMPRESS) < 0)
 		return TEST_FAILED;
@@ -791,7 +847,6 @@ test_compressdev_deflate_stateless_multi_op(void)
 	return TEST_SUCCESS;
 }
 
-
 static int
 test_compressdev_deflate_stateless_multi_level(void)
 {
@@ -799,29 +854,96 @@ test_compressdev_deflate_stateless_multi_level(void)
 	const char *test_buffer;
 	unsigned int level;
 	uint16_t i;
-	struct rte_comp_xform compress_xform;
+	int ret;
+	struct rte_comp_xform *compress_xform =
+			rte_malloc(NULL, sizeof(struct rte_comp_xform), 0);
 
-	memcpy(&compress_xform, &ts_params->def_comp_xform,
+	memcpy(compress_xform, ts_params->def_comp_xform,
 			sizeof(struct rte_comp_xform));
 
 	for (i = 0; i < RTE_DIM(compress_test_bufs); i++) {
 		test_buffer = compress_test_bufs[i];
 		for (level = RTE_COMP_LEVEL_MIN; level <= RTE_COMP_LEVEL_MAX;
 				level++) {
-			compress_xform.compress.level = level;
+			compress_xform->compress.level = level;
 			/* Compress with compressdev, decompress with Zlib */
 			if (test_deflate_comp_decomp(&test_buffer, 1,
 					&i,
 					&compress_xform,
 					&ts_params->def_decomp_xform,
+					1,
 					RTE_COMP_OP_STATELESS,
-					ZLIB_DECOMPRESS) < 0)
-				return TEST_FAILED;
+					ZLIB_DECOMPRESS) < 0) {
+				ret = TEST_FAILED;
+				goto exit;
+			}
 		}
 	}
 
-	return TEST_SUCCESS;
+	ret = TEST_SUCCESS;
+
+exit:
+	rte_free(compress_xform);
+	return ret;
+}
+
+#define NUM_SESSIONS 3
+static int
+test_compressdev_deflate_stateless_multi_session(void)
+{
+	struct comp_testsuite_params *ts_params = &testsuite_params;
+	uint16_t num_bufs = NUM_SESSIONS;
+	struct rte_comp_xform *compress_xforms[NUM_SESSIONS] = {NULL};
+	struct rte_comp_xform *decompress_xforms[NUM_SESSIONS] = {NULL};
+	const char *test_buffers[NUM_SESSIONS];
+	uint16_t i;
+	unsigned int level = RTE_COMP_LEVEL_MIN;
+	uint16_t buf_idx[num_bufs];
+
+	int ret;
+
+	/* Create multiple xforms with various levels */
+	for (i = 0; i < NUM_SESSIONS; i++) {
+		compress_xforms[i] = rte_malloc(NULL,
+				sizeof(struct rte_comp_xform), 0);
+		memcpy(compress_xforms[i], ts_params->def_comp_xform,
+				sizeof(struct rte_comp_xform));
+		compress_xforms[i]->compress.level = level;
+		level++;
+
+		decompress_xforms[i] = rte_malloc(NULL,
+				sizeof(struct rte_comp_xform), 0);
+		memcpy(decompress_xforms[i], ts_params->def_decomp_xform,
+				sizeof(struct rte_comp_xform));
+	}
+
+	for (i = 0; i < NUM_SESSIONS; i++) {
+		buf_idx[i] = 0;
+		/* Use the same buffer in all sessions */
+		test_buffers[i] = compress_test_bufs[0];
+	}
+	/* Compress with compressdev, decompress with Zlib */
+	if (test_deflate_comp_decomp(test_buffers, num_bufs,
+			buf_idx,
+			compress_xforms,
+			decompress_xforms,
+			NUM_SESSIONS,
+			RTE_COMP_OP_STATELESS,
+			ZLIB_DECOMPRESS) < 0) {
+		ret = TEST_FAILED;
+		goto exit;
+	}
+
+	ret = TEST_SUCCESS;
+exit:
+	for (i = 0; i < NUM_SESSIONS; i++) {
+		rte_free(compress_xforms[i]);
+		rte_free(decompress_xforms[i]);
+	}
+
+	return ret;
 }
+
 static struct unit_test_suite compressdev_testsuite  = {
 	.suite_name = "compressdev unit test suite",
 	.setup = testsuite_setup,
@@ -835,6 +957,8 @@ static struct unit_test_suite compressdev_testsuite  = {
 			test_compressdev_deflate_stateless_multi_op),
 		TEST_CASE_ST(generic_ut_setup, generic_ut_teardown,
 			test_compressdev_deflate_stateless_multi_level),
+		TEST_CASE_ST(generic_ut_setup, generic_ut_teardown,
+			test_compressdev_deflate_stateless_multi_session),
 		TEST_CASES_END() /**< NULL terminate unit test array */
 	}
 };
-- 
2.14.3

  parent reply	other threads:[~2018-02-28 14:00 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-28 14:00 [PATCH 0/5] Initial compressdev unit tests Pablo de Lara
2018-02-28 14:00 ` [PATCH 1/5] compressdev: add const for xform in session init Pablo de Lara
2018-02-28 14:00 ` [PATCH 2/5] test/compress: add initial unit tests Pablo de Lara
2018-02-28 14:00 ` [PATCH 3/5] test/compress: add multi op test Pablo de Lara
2018-02-28 14:00 ` [PATCH 4/5] test/compress: add multi level test Pablo de Lara
2018-02-28 14:00 ` Pablo de Lara [this message]
2018-04-08 14:00 ` [PATCH v2 0/5] Initial compressdev unit tests Pablo de Lara
2018-04-08 14:00   ` [PATCH v2 1/5] test/compress: add initial " Pablo de Lara
2018-04-08 14:00   ` [PATCH v2 2/5] test/compress: add multi op test Pablo de Lara
2018-04-08 14:00   ` [PATCH v2 3/5] test/compress: add multi level test Pablo de Lara
2018-04-08 14:00   ` [PATCH v2 4/5] test/compress: add multi xform test Pablo de Lara
2018-04-08 14:00   ` [PATCH v2 5/5] test/compress: add invalid configuration tests Pablo de Lara
2018-04-27 14:14 ` [PATCH v3 0/5] Initial compressdev unit tests Pablo de Lara
2018-04-27 14:14   ` [PATCH v3 1/5] test/compress: add initial " Pablo de Lara
2018-05-02 13:44     ` Daly, Lee
2018-05-04  8:49       ` De Lara Guarch, Pablo
2018-04-27 14:14   ` [PATCH v3 2/5] test/compress: add multi op test Pablo de Lara
2018-04-27 14:15   ` [PATCH v3 3/5] test/compress: add multi level test Pablo de Lara
2018-04-27 14:15   ` [PATCH v3 4/5] test/compress: add multi xform test Pablo de Lara
2018-05-02 13:49     ` Daly, Lee
2018-04-27 14:15   ` [PATCH v3 5/5] test/compress: add invalid configuration tests Pablo de Lara
2018-05-01 13:00   ` [PATCH v3 0/5] Initial compressdev unit tests Daly, Lee
2018-05-04 10:22 ` [PATCH v4 " Pablo de Lara
2018-05-04 10:22   ` [PATCH v4 1/5] test/compress: add initial " Pablo de Lara
2018-05-14  8:29     ` Verma, Shally
2018-05-14  8:40       ` De Lara Guarch, Pablo
2018-05-04 10:22   ` [PATCH v4 2/5] test/compress: add multi op test Pablo de Lara
2018-05-04 10:22   ` [PATCH v4 3/5] test/compress: add multi level test Pablo de Lara
2018-05-04 10:22   ` [PATCH v4 4/5] test/compress: add multi xform test Pablo de Lara
2018-05-04 10:22   ` [PATCH v4 5/5] test/compress: add invalid configuration tests Pablo de Lara
2018-05-08 15:47   ` [PATCH v4 0/5] Initial compressdev unit tests Trahe, Fiona
2018-05-08 21:26   ` De Lara Guarch, Pablo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180228140010.27251-6-pablo.de.lara.guarch@intel.com \
    --to=pablo.de.lara.guarch@intel.com \
    --cc=Shally.Verma@cavium.com \
    --cc=ahmed.mansour@nxp.com \
    --cc=dev@dpdk.org \
    --cc=fiona.trahe@intel.com \
    --cc=lee.daly@intel.com \
    --cc=tomaszx.jozwiak@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.