DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Jozwiak, TomaszX" <tomaszx.jozwiak@intel.com>
To: Yongseok Koh <yskoh@mellanox.com>,
	"Cel, TomaszX" <tomaszx.cel@intel.com>,
	 Thomas Monjalon <thomas@monjalon.net>
Cc: "dev@dpdk.org" <dev@dpdk.org>, "Trahe, Fiona" <fiona.trahe@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2 1/1] test/compress: add max mbuf size test	case
Date: Fri, 19 Apr 2019 09:58:18 +0000	[thread overview]
Message-ID: <CA70B6012E3ADB4184D44E025E5FF01B6A20A7F7@LCSMSX155.ger.corp.intel.com> (raw)
Message-ID: <20190419095818.-7GTbSi5F_9_pcLRav_qJ6qHAvf7F4LTIvGhqk7jH00@z> (raw)
In-Reply-To: <825F643C-86B8-4A5D-934A-E074DE1458C1@mellanox.com>

Hi Yongseok,

Could you check my fix is ok now on gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)

Thx, Tomek

> -----Original Message-----
> From: Yongseok Koh [mailto:yskoh@mellanox.com]
> Sent: Friday, April 19, 2019 12:43 AM
> To: Cel, TomaszX <tomaszx.cel@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; Jozwiak, TomaszX <tomaszx.jozwiak@intel.com>
> Cc: dev@dpdk.org; Trahe, Fiona <fiona.trahe@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v2 1/1] test/compress: add max mbuf size
> test case
> 
> Hi,
> 
> I'm seeing compile error.
> Isn't it due to this patch?
> 
> $ gcc --version
> gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
> 
> 
> [1484/1523] Compiling C object 'app/test/app@test@@dpdk-
> test@exe/test_compressdev.c.o'.
> FAILED: app/test/app@test@@dpdk-test@exe/test_compressdev.c.o
> cc -Iapp/test/app@test@@dpdk-test@exe -Iapp/test -I../app/test -
> Ilib/librte_acl -I../lib/librte_acl -I. -I../ -Iconfig -I../config -
> Ilib/librte_eal/common/include -I../lib/librte_eal/common/include -
> I../lib/librte_eal/linux/eal/include -Ilib/librte_eal/common -
> I../lib/librte_eal/common -Ilib/librte_eal/common/include/arch/x86 -
> I../lib/librte_eal/common/include/arch/x86 -Ilib/librte_eal -I../lib/librte_eal -
> Ilib/librte_kvargs -I../lib/librte_kvargs -Ilib/librte_bitratestats -
> I../lib/librte_bitratestats -Ilib/librte_ethdev -I../lib/librte_ethdev -
> Ilib/librte_net -I../lib/librte_net -Ilib/librte_mbuf-I../lib/librte_mbuf -
> Ilib/librte_mempool -I../lib/librte_mempool -Ilib/librte_ring -
> I../lib/librte_ring -Ilib/librte_cmdline -I../lib/librte_cmdline -Ilib/librte_meter
> -I../lib/librte_meter -Ilib/librte_metrics -I../lib/librte_metrics -Ilib/librte_bpf -
> I../lib/librte_bpf -Ilib/librte_cfgfile -I../lib/librte_cfgfile -Ilib/librte_cryptodev
> -I../lib/librte_cryptodev -Ilib/librte_distributor -I../lib/librte_distributor -
> Ilib/librte_efd -I../lib/librte_efd -Ilib/librte_hash -I../lib/librte_hash -
> Ilib/librte_eventdev -I../lib/librte_eventdev -Ilib/librte_timer -
> I../lib/librte_timer -Ilib/librte_flow_classify -I../lib/librte_flow_classify -
> Ilib/librte_table -I../lib/librte_table -Ilib/librte_port -I../lib/librte_port -
> Ilib/librte_sched -I../lib/librte_sched -Ilib/librte_ip_frag -I../lib/librte_ip_frag
> -Ilib/librte_kni -I../lib/librte_kni -Ilib/librte_pci -I../lib/librte_pci -
> Ilib/librte_lpm -I../lib/librte_lpm -Ilib/librte_ipsec -I../lib/librte_ipsec -
> Ilib/librte_security -I../lib/librte_security -Ilib/librte_latencystats -
> I../lib/librte_latencystats -Ilib/librte_member -I../lib/librte_member -
> Ilib/librte_pipeline -I../lib/librte_pipeline -Ilib/librte_reorder -
> I../lib/librte_reorder -Ilib/librte_stack -I../lib/librte_stack -Ilib/librte_pdump -
> I../lib/librte_pdump -Idrivers/net/i40e -I../drivers/net/i40e -
> Idrivers/net/i40e/base -I../drivers/net/i40e/base -Idrivers/bus/pci -
> I../drivers/bus/pci -I../drivers/bus/pci/linux -Idrivers/bus/vdev -
> I../drivers/bus/vdev -Idrivers/net/ixgbe -I../drivers/net/ixgbe -
> Idrivers/net/ixgbe/base -I../drivers/net/ixgbe/base-Idrivers/net/bonding -
> I../drivers/net/bonding -Idrivers/net/ring -I../drivers/net/ring -
> Ilib/librte_power -I../lib/librte_power -Ilib/librte_compressdev -
> I../lib/librte_compressdev -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-
> pch -O3 -include rte_config.h -Wsign-compare -Wcast-qual -march=native -
> D_GNU_SOURCE -DALLOW_EXPERIMENTAL_API  -MD -MQ
> 'app/test/app@test@@dpdk-test@exe/test_compressdev.c.o' -MF
> 'app/test/app@test@@dpdk-test@exe/test_compressdev.c.o.d' -o
> 'app/test/app@test@@dpdk-test@exe/test_compressdev.c.o' -c
> ../app/test/test_compressdev.c
> ../app/test/test_compressdev.c: In function
> ‘test_compressdev_deflate_stateless_dynamic_big’:
> ../app/test/test_compressdev.c:1992:16: error: conflicting types for ‘i’
>   for (uint32_t i = 0; i < BIG_DATA_TEST_SIZE - 1; ++i)
>                 ^
> ../app/test/test_compressdev.c:1949:11: note: previous definition of ‘i’ was
> here
>   uint16_t i = 0;
>            ^
> ../app/test/test_compressdev.c:1992:2: error: ‘for’ loop initial declarations
> are only allowed in C99 mode
>   for (uint32_t i = 0; i < BIG_DATA_TEST_SIZE - 1; ++i)
>   ^
> ../app/test/test_compressdev.c:1992:2: note: use option -std=c99 or -
> std=gnu99 to compile your code
> ../app/test/test_compressdev.c:1996:19: warning: assignment from
> incompatible pointer type [enabled by default]
>   int_data.buf_idx = &i;
>                    ^
> [1501/1523] Generating igb_uio with a custom command.
> make: Entering directory `/usr/src/kernels/3.10.0-862.el7.x86_64'
>   CC [M]  /auto/mtiswgwork/yskoh/git/mellanox/dpdk.org-
> 2/build/kernel/linux/igb_uio/igb_uio.o
>   Building modules, stage 2.
>   MODPOST 1 modules
> make[1]: Warning: File `/auto/mtiswgwork/yskoh/git/mellanox/dpdk.org-
> 2/build/kernel/linux/igb_uio/igb_uio.mod.c' has modification time 0.0096 s in
> the future
>   CC      /auto/mtiswgwork/yskoh/git/mellanox/dpdk.org-
> 2/build/kernel/linux/igb_uio/igb_uio.mod.o
>   LD [M]  /auto/mtiswgwork/yskoh/git/mellanox/dpdk.org-
> 2/build/kernel/linux/igb_uio/igb_uio.ko
> make[1]: warning:  Clock skew detected.  Your build may be incomplete.
> make: Leaving directory `/usr/src/kernels/3.10.0-862.el7.x86_64'
> 
> 
> Thanks,
> Yongseok
> 
> > On Apr 2, 2019, at 5:22 AM, Cel, TomaszX <tomaszx.cel@intel.com> wrote:
> >
> > Hi Tomasz,
> >
> >> -----Original Message-----
> >> From: Cel, TomaszX
> >> Sent: Tuesday, April 2, 2019 1:17 PM
> >> To: dev@dpdk.org; Trahe, Fiona <fiona.trahe@intel.com>; Jozwiak,
> >> TomaszX <tomaszx.jozwiak@intel.com>; Cel, TomaszX
> >> <tomaszx.cel@intel.com>
> >> Subject: [PATCH v2 1/1] test/compress: add max mbuf size test case
> >>
> >> From: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
> >>
> >> This patch adds new test case in which max. size of chain mbufs has
> >> been used to compress random data dynamically.
> >>
> >> Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
> >> ---
> >> app/test/test_compressdev.c | 158
> >> ++++++++++++++++++++++++++++++++++++++------
> >> 1 file changed, 136 insertions(+), 22 deletions(-)
> >>
> >> diff --git a/app/test/test_compressdev.c
> >> b/app/test/test_compressdev.c index 13cf26c..f59b3d2 100644
> >> --- a/app/test/test_compressdev.c
> >> +++ b/app/test/test_compressdev.c
> >> @@ -1,10 +1,10 @@
> >> /* SPDX-License-Identifier: BSD-3-Clause
> >> - * Copyright(c) 2018 Intel Corporation
> >> + * Copyright(c) 2018 - 2019 Intel Corporation
> >>  */
> >> #include <string.h>
> >> #include <zlib.h>
> >> #include <math.h>
> >> -#include <unistd.h>
> >> +#include <stdlib.h>
> >>
> >> #include <rte_cycles.h>
> >> #include <rte_malloc.h>
> >> @@ -45,6 +45,11 @@
> >>
> >> #define OUT_OF_SPACE_BUF 1
> >>
> >> +#define MAX_MBUF_SEGMENT_SIZE 65535
> >> +#define MAX_DATA_MBUF_SIZE (MAX_MBUF_SEGMENT_SIZE -
> >> +RTE_PKTMBUF_HEADROOM) #define NUM_BIG_MBUFS 4 #define
> >> +BIG_DATA_TEST_SIZE (MAX_DATA_MBUF_SIZE * NUM_BIG_MBUFS /
> 2)
> >> +
> >> const char *
> >> huffman_type_strings[] = {
> >> 	[RTE_COMP_HUFFMAN_DEFAULT]	= "PMD default",
> >> @@ -73,6 +78,7 @@ struct priv_op_data { struct comp_testsuite_params
> >> {
> >> 	struct rte_mempool *large_mbuf_pool;
> >> 	struct rte_mempool *small_mbuf_pool;
> >> +	struct rte_mempool *big_mbuf_pool;
> >> 	struct rte_mempool *op_pool;
> >> 	struct rte_comp_xform *def_comp_xform;
> >> 	struct rte_comp_xform *def_decomp_xform; @@ -92,6 +98,7 @@
> struct
> >> test_data_params {
> >> 	enum varied_buff buff_type;
> >> 	enum zlib_direction zlib_dir;
> >> 	unsigned int out_of_space;
> >> +	unsigned int big_data;
> >> };
> >>
> >> static struct comp_testsuite_params testsuite_params = { 0 }; @@
> >> -105,11
> >> +112,14 @@ testsuite_teardown(void)
> >> 		RTE_LOG(ERR, USER1, "Large mbuf pool still has unfreed
> bufs\n");
> >> 	if (rte_mempool_in_use_count(ts_params->small_mbuf_pool))
> >> 		RTE_LOG(ERR, USER1, "Small mbuf pool still has unfreed
> bufs\n");
> >> +	if (rte_mempool_in_use_count(ts_params->big_mbuf_pool))
> >> +		RTE_LOG(ERR, USER1, "Big mbuf pool still has unfreed
> >> bufs\n");
> >> 	if (rte_mempool_in_use_count(ts_params->op_pool))
> >> 		RTE_LOG(ERR, USER1, "op pool still has unfreed ops\n");
> >>
> >> 	rte_mempool_free(ts_params->large_mbuf_pool);
> >> 	rte_mempool_free(ts_params->small_mbuf_pool);
> >> +	rte_mempool_free(ts_params->big_mbuf_pool);
> >> 	rte_mempool_free(ts_params->op_pool);
> >> 	rte_free(ts_params->def_comp_xform);
> >> 	rte_free(ts_params->def_decomp_xform);
> >> @@ -162,6 +172,17 @@ testsuite_setup(void)
> >> 		goto exit;
> >> 	}
> >>
> >> +	/* Create mempool with big buffers for SGL testing */
> >> +	ts_params->big_mbuf_pool =
> >> rte_pktmbuf_pool_create("big_mbuf_pool",
> >> +			NUM_BIG_MBUFS + 1,
> >> +			CACHE_SIZE, 0,
> >> +			MAX_MBUF_SEGMENT_SIZE,
> >> +			rte_socket_id());
> >> +	if (ts_params->big_mbuf_pool == NULL) {
> >> +		RTE_LOG(ERR, USER1, "Big mbuf pool could not be
> >> created\n");
> >> +		goto exit;
> >> +	}
> >> +
> >> 	ts_params->op_pool = rte_comp_op_pool_create("op_pool",
> >> NUM_OPS,
> >> 				0, sizeof(struct priv_op_data),
> >> 				rte_socket_id());
> >> @@ -598,10 +619,11 @@ prepare_sgl_bufs(const char *test_buf, struct
> >> rte_mbuf *head_buf,
> >> 		uint32_t total_data_size,
> >> 		struct rte_mempool *small_mbuf_pool,
> >> 		struct rte_mempool *large_mbuf_pool,
> >> -		uint8_t limit_segs_in_sgl)
> >> +		uint8_t limit_segs_in_sgl,
> >> +		uint16_t seg_size)
> >> {
> >> 	uint32_t remaining_data = total_data_size;
> >> -	uint16_t num_remaining_segs = DIV_CEIL(remaining_data,
> >> SMALL_SEG_SIZE);
> >> +	uint16_t num_remaining_segs = DIV_CEIL(remaining_data,
> >> seg_size);
> >> 	struct rte_mempool *pool;
> >> 	struct rte_mbuf *next_seg;
> >> 	uint32_t data_size;
> >> @@ -617,10 +639,10 @@ prepare_sgl_bufs(const char *test_buf, struct
> >> rte_mbuf *head_buf,
> >> 	 * Allocate data in the first segment (header) and
> >> 	 * copy data if test buffer is provided
> >> 	 */
> >> -	if (remaining_data < SMALL_SEG_SIZE)
> >> +	if (remaining_data < seg_size)
> >> 		data_size = remaining_data;
> >> 	else
> >> -		data_size = SMALL_SEG_SIZE;
> >> +		data_size = seg_size;
> >> 	buf_ptr = rte_pktmbuf_append(head_buf, data_size);
> >> 	if (buf_ptr == NULL) {
> >> 		RTE_LOG(ERR, USER1,
> >> @@ -644,13 +666,13 @@ prepare_sgl_bufs(const char *test_buf, struct
> >> rte_mbuf *head_buf,
> >>
> >> 		if (i == (num_remaining_segs - 1)) {
> >> 			/* last segment */
> >> -			if (remaining_data > SMALL_SEG_SIZE)
> >> +			if (remaining_data > seg_size)
> >> 				pool = large_mbuf_pool;
> >> 			else
> >> 				pool = small_mbuf_pool;
> >> 			data_size = remaining_data;
> >> 		} else {
> >> -			data_size = SMALL_SEG_SIZE;
> >> +			data_size = seg_size;
> >> 			pool = small_mbuf_pool;
> >> 		}
> >>
> >> @@ -704,6 +726,7 @@ test_deflate_comp_decomp(const struct
> >> interim_data_params *int_data,
> >> 	enum rte_comp_op_type state = test_data->state;
> >> 	unsigned int buff_type = test_data->buff_type;
> >> 	unsigned int out_of_space = test_data->out_of_space;
> >> +	unsigned int big_data = test_data->big_data;
> >> 	enum zlib_direction zlib_dir = test_data->zlib_dir;
> >> 	int ret_status = -1;
> >> 	int ret;
> >> @@ -738,7 +761,9 @@ test_deflate_comp_decomp(const struct
> >> interim_data_params *int_data,
> >> 	memset(ops_processed, 0, sizeof(struct rte_comp_op *) *
> num_bufs);
> >> 	memset(priv_xforms, 0, sizeof(void *) * num_bufs);
> >>
> >> -	if (buff_type == SGL_BOTH)
> >> +	if (big_data)
> >> +		buf_pool = ts_params->big_mbuf_pool;
> >> +	else if (buff_type == SGL_BOTH)
> >> 		buf_pool = ts_params->small_mbuf_pool;
> >> 	else
> >> 		buf_pool = ts_params->large_mbuf_pool; @@ -757,10
> >> +782,11 @@ test_deflate_comp_decomp(const struct
> interim_data_params
> >> *int_data,
> >> 		for (i = 0; i < num_bufs; i++) {
> >> 			data_size = strlen(test_bufs[i]) + 1;
> >> 			if (prepare_sgl_bufs(test_bufs[i], uncomp_bufs[i],
> >> -					data_size,
> >> -					ts_params->small_mbuf_pool,
> >> -					ts_params->large_mbuf_pool,
> >> -					MAX_SEGS) < 0)
> >> +			    data_size,
> >> +			    big_data ? buf_pool : ts_params-
> >>> small_mbuf_pool,
> >> +			    big_data ? buf_pool : ts_params-
> >>> large_mbuf_pool,
> >> +			    big_data ? 0 : MAX_SEGS,
> >> +			    big_data ? MAX_DATA_MBUF_SIZE :
> >> SMALL_SEG_SIZE) < 0)
> >> 				goto exit;
> >> 		}
> >> 	} else {
> >> @@ -789,10 +815,12 @@ test_deflate_comp_decomp(const struct
> >> interim_data_params *int_data,
> >> 					COMPRESS_BUF_SIZE_RATIO);
> >>
> >> 			if (prepare_sgl_bufs(NULL, comp_bufs[i],
> >> -					data_size,
> >> -					ts_params->small_mbuf_pool,
> >> -					ts_params->large_mbuf_pool,
> >> -					MAX_SEGS) < 0)
> >> +			      data_size,
> >> +			      big_data ? buf_pool : ts_params-
> >>> small_mbuf_pool,
> >> +			      big_data ? buf_pool : ts_params-
> >>> large_mbuf_pool,
> >> +			      big_data ? 0 : MAX_SEGS,
> >> +			      big_data ? MAX_DATA_MBUF_SIZE :
> >> SMALL_SEG_SIZE)
> >> +					< 0)
> >> 				goto exit;
> >> 		}
> >>
> >> @@ -1017,10 +1045,12 @@ test_deflate_comp_decomp(const struct
> >> interim_data_params *int_data,
> >> 				strlen(test_bufs[priv_data->orig_idx]) + 1;
> >>
> >> 			if (prepare_sgl_bufs(NULL, uncomp_bufs[i],
> >> -					data_size,
> >> -					ts_params->small_mbuf_pool,
> >> -					ts_params->large_mbuf_pool,
> >> -					MAX_SEGS) < 0)
> >> +			       data_size,
> >> +			       big_data ? buf_pool : ts_params-
> >>> small_mbuf_pool,
> >> +			       big_data ? buf_pool : ts_params-
> >>> large_mbuf_pool,
> >> +			       big_data ? 0 : MAX_SEGS,
> >> +			       big_data ? MAX_DATA_MBUF_SIZE :
> >> SMALL_SEG_SIZE)
> >> +					< 0)
> >> 				goto exit;
> >> 		}
> >>
> >> @@ -1320,6 +1350,7 @@
> test_compressdev_deflate_stateless_fixed(void)
> >> 		RTE_COMP_OP_STATELESS,
> >> 		LB_BOTH,
> >> 		ZLIB_DECOMPRESS,
> >> +		0,
> >> 		0
> >> 	};
> >>
> >> @@ -1390,6 +1421,7 @@
> >> test_compressdev_deflate_stateless_dynamic(void)
> >> 		RTE_COMP_OP_STATELESS,
> >> 		LB_BOTH,
> >> 		ZLIB_DECOMPRESS,
> >> +		0,
> >> 		0
> >> 	};
> >>
> >> @@ -1443,6 +1475,7 @@
> >> test_compressdev_deflate_stateless_multi_op(void)
> >> 		RTE_COMP_OP_STATELESS,
> >> 		LB_BOTH,
> >> 		ZLIB_DECOMPRESS,
> >> +		0,
> >> 		0
> >> 	};
> >>
> >> @@ -1492,6 +1525,7 @@
> >> test_compressdev_deflate_stateless_multi_level(void)
> >> 		RTE_COMP_OP_STATELESS,
> >> 		LB_BOTH,
> >> 		ZLIB_DECOMPRESS,
> >> +		0,
> >> 		0
> >> 	};
> >>
> >> @@ -1581,6 +1615,7 @@
> >> test_compressdev_deflate_stateless_multi_xform(void)
> >> 		RTE_COMP_OP_STATELESS,
> >> 		LB_BOTH,
> >> 		ZLIB_DECOMPRESS,
> >> +		0,
> >> 		0
> >> 	};
> >>
> >> @@ -1626,6 +1661,7 @@ test_compressdev_deflate_stateless_sgl(void)
> >> 		RTE_COMP_OP_STATELESS,
> >> 		SGL_BOTH,
> >> 		ZLIB_DECOMPRESS,
> >> +		0,
> >> 		0
> >> 	};
> >>
> >> @@ -1733,6 +1769,7 @@
> >> test_compressdev_deflate_stateless_checksum(void)
> >> 		RTE_COMP_OP_STATELESS,
> >> 		LB_BOTH,
> >> 		ZLIB_DECOMPRESS,
> >> +		0,
> >> 		0
> >> 	};
> >>
> >> @@ -1863,7 +1900,8 @@ test_compressdev_out_of_space_buffer(void)
> >> 		RTE_COMP_OP_STATELESS,
> >> 		LB_BOTH,
> >> 		ZLIB_DECOMPRESS,
> >> -		1
> >> +		1,
> >> +		0
> >> 	};
> >> 	/* Compress with compressdev, decompress with Zlib */
> >> 	test_data.zlib_dir = ZLIB_DECOMPRESS; @@ -1904,6 +1942,80 @@
> >> test_compressdev_out_of_space_buffer(void)
> >> 	return ret;
> >> }
> >>
> >> +static int
> >> +test_compressdev_deflate_stateless_dynamic_big(void)
> >> +{
> >> +	struct comp_testsuite_params *ts_params = &testsuite_params;
> >> +	uint16_t i = 0;
> >> +	int ret = TEST_SUCCESS;
> >> +	const struct rte_compressdev_capabilities *capab;
> >> +	char *test_buffer = NULL;
> >> +
> >> +	capab = rte_compressdev_capability_get(0,
> >> RTE_COMP_ALGO_DEFLATE);
> >> +	TEST_ASSERT(capab != NULL, "Failed to retrieve device
> >> +capabilities");
> >> +
> >> +	if ((capab->comp_feature_flags &
> >> RTE_COMP_FF_HUFFMAN_DYNAMIC) == 0)
> >> +		return -ENOTSUP;
> >> +
> >> +	if ((capab->comp_feature_flags &
> >> RTE_COMP_FF_OOP_SGL_IN_SGL_OUT) == 0)
> >> +		return -ENOTSUP;
> >> +
> >> +	test_buffer = rte_malloc(NULL, BIG_DATA_TEST_SIZE, 0);
> >> +	if (test_buffer == NULL) {
> >> +		RTE_LOG(ERR, USER1,
> >> +			"Can't allocate buffer for big-data\n");
> >> +		return TEST_FAILED;
> >> +	}
> >> +
> >> +	struct interim_data_params int_data = {
> >> +		(const char * const *)&test_buffer,
> >> +		1,
> >> +		NULL,
> >> +		&ts_params->def_comp_xform,
> >> +		&ts_params->def_decomp_xform,
> >> +		1
> >> +	};
> >> +
> >> +	struct test_data_params test_data = {
> >> +		RTE_COMP_OP_STATELESS,
> >> +		SGL_BOTH,
> >> +		ZLIB_DECOMPRESS,
> >> +		0,
> >> +		1
> >> +	};
> >> +
> >> +	ts_params->def_comp_xform->compress.deflate.huffman =
> >> +
> >> 	RTE_COMP_HUFFMAN_DYNAMIC;
> >> +
> >> +	/* fill the buffer with data based on rand. data */
> >> +	srand(BIG_DATA_TEST_SIZE);
> >> +	for (uint32_t i = 0; i < BIG_DATA_TEST_SIZE - 1; ++i)
> >> +		test_buffer[i] = (uint8_t)(rand() % ((uint8_t)-1)) | 1;
> >> +
> >> +	test_buffer[BIG_DATA_TEST_SIZE-1] = 0;
> >> +	int_data.buf_idx = &i;
> >> +
> >> +	/* Compress with compressdev, decompress with Zlib */
> >> +	test_data.zlib_dir = ZLIB_DECOMPRESS;
> >> +	if (test_deflate_comp_decomp(&int_data, &test_data) < 0) {
> >> +		ret = TEST_FAILED;
> >> +		goto end;
> >> +	}
> >> +
> >> +	/* Compress with Zlib, decompress with compressdev */
> >> +	test_data.zlib_dir = ZLIB_COMPRESS;
> >> +	if (test_deflate_comp_decomp(&int_data, &test_data) < 0) {
> >> +		ret = TEST_FAILED;
> >> +		goto end;
> >> +	}
> >> +
> >> +end:
> >> +	ts_params->def_comp_xform->compress.deflate.huffman =
> >> +
> >> 	RTE_COMP_HUFFMAN_DEFAULT;
> >> +	rte_free(test_buffer);
> >> +	return ret;
> >> +}
> >> +
> >>
> >> static struct unit_test_suite compressdev_testsuite  = {
> >> 	.suite_name = "compressdev unit test suite", @@ -1917,6 +2029,8
> @@
> >> static struct unit_test_suite compressdev_testsuite  = {
> >> 		TEST_CASE_ST(generic_ut_setup, generic_ut_teardown,
> >> 			test_compressdev_deflate_stateless_dynamic),
> >> 		TEST_CASE_ST(generic_ut_setup, generic_ut_teardown,
> >> +			test_compressdev_deflate_stateless_dynamic_big),
> >> +		TEST_CASE_ST(generic_ut_setup, generic_ut_teardown,
> >> 			test_compressdev_deflate_stateless_multi_op),
> >> 		TEST_CASE_ST(generic_ut_setup, generic_ut_teardown,
> >> 			test_compressdev_deflate_stateless_multi_level),
> >> --
> >> 2.7.4
> >
> > Acked-by: Tomasz Cel <tomaszx.cel@intel.com>
> >


  parent reply	other threads:[~2019-04-19  9:58 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-15  9:44 [dpdk-dev] [PATCH] compress/qat: add dynamic sgl allocation Tomasz Jozwiak
2019-02-15  9:44 ` [dpdk-dev] [PATCH] compress/qat: add fallback to fixed compression Tomasz Jozwiak
2019-02-15 17:01   ` Trahe, Fiona
2019-03-19 14:04     ` Akhil Goyal
2019-03-19 14:04       ` Akhil Goyal
2019-02-15  9:44 ` [dpdk-dev] [PATCH] test/compress: add max mbuf size test case Tomasz Jozwiak
2019-03-27 14:02   ` Akhil Goyal
2019-03-27 14:02     ` Akhil Goyal
2019-04-02 12:16   ` [dpdk-dev] [PATCH v2 0/1] " Tomasz Cel
2019-04-02 12:16     ` Tomasz Cel
2019-04-02 12:16     ` [dpdk-dev] [PATCH v2 1/1] test/compress: " Tomasz Cel
2019-04-02 12:16       ` Tomasz Cel
2019-04-02 12:22       ` Cel, TomaszX
2019-04-02 12:22         ` Cel, TomaszX
2019-04-18 22:42         ` Yongseok Koh
2019-04-18 22:42           ` Yongseok Koh
2019-04-19  9:07           ` Thomas Monjalon
2019-04-19  9:07             ` Thomas Monjalon
2019-04-19  9:25             ` David Marchand
2019-04-19  9:25               ` David Marchand
2019-04-19  9:30               ` Thomas Monjalon
2019-04-19  9:30                 ` Thomas Monjalon
2019-04-19  9:32                 ` Jozwiak, TomaszX
2019-04-19  9:32                   ` Jozwiak, TomaszX
2019-04-19  9:39                   ` David Marchand
2019-04-19  9:39                     ` David Marchand
2019-04-19  9:58           ` Jozwiak, TomaszX [this message]
2019-04-19  9:58             ` Jozwiak, TomaszX
2019-04-16 14:53     ` [dpdk-dev] [PATCH v2 0/1] " Akhil Goyal
2019-04-16 14:53       ` Akhil Goyal
2019-03-01 11:00 ` [dpdk-dev] [PATCH v2] add dynamic sgl allocation Tomasz Jozwiak
2019-03-01 11:00   ` [dpdk-dev] [PATCH v2] compress/qat: " Tomasz Jozwiak
2019-03-01 11:17 ` [dpdk-dev] [PATCH v3 0/1] " Tomasz Jozwiak
2019-03-01 11:17   ` [dpdk-dev] [PATCH v3 1/1] compress/qat: " Tomasz Jozwiak
2019-03-07 12:02   ` [dpdk-dev] [PATCH v4 0/1] " Tomasz Jozwiak
2019-03-07 12:02     ` [dpdk-dev] [PATCH v4 1/1] compress/qat: " Tomasz Jozwiak
2019-03-07 18:58       ` Trahe, Fiona
2019-03-17 18:00       ` Akhil Goyal
2019-03-17 18:00         ` Akhil Goyal
2019-03-18  8:12         ` Jozwiak, TomaszX
2019-03-18  8:12           ` Jozwiak, TomaszX
2019-03-18  8:23           ` arpita das
2019-03-18  8:23             ` arpita das
2019-03-26 13:51     ` [dpdk-dev] [PATCH v5 0/1] " Tomasz Jozwiak
2019-03-26 13:51       ` Tomasz Jozwiak
2019-03-26 13:51       ` [dpdk-dev] [PATCH v5 1/1] compress/qat: " Tomasz Jozwiak
2019-03-26 13:51         ` Tomasz Jozwiak
2019-03-28 14:37         ` Trahe, Fiona
2019-03-28 14:37           ` Trahe, Fiona
2019-03-29 14:40           ` Akhil Goyal
2019-03-29 14:40             ` Akhil Goyal
2019-04-03  8:39             ` Akhil Goyal
2019-04-03  8:39               ` Akhil Goyal

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=CA70B6012E3ADB4184D44E025E5FF01B6A20A7F7@LCSMSX155.ger.corp.intel.com \
    --to=tomaszx.jozwiak@intel.com \
    --cc=dev@dpdk.org \
    --cc=fiona.trahe@intel.com \
    --cc=thomas@monjalon.net \
    --cc=tomaszx.cel@intel.com \
    --cc=yskoh@mellanox.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 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).