Code refactoring to separate validation from benchmarking part. Added op's status checking after rte_compressdev_dequeue_burst function. Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Lee Daly <lee.daly@intel.com> Acked-by: Shally Verma <shally.verma@caviumnetworks.com>
72 lines
1.5 KiB
C
72 lines
1.5 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2018 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _COMP_PERF_OPS_
|
|
#define _COMP_PERF_OPS_
|
|
|
|
#define MAX_DRIVER_NAME 64
|
|
#define MAX_INPUT_FILE_NAME 64
|
|
#define MAX_LIST 32
|
|
|
|
enum comp_operation {
|
|
COMPRESS_ONLY,
|
|
DECOMPRESS_ONLY,
|
|
COMPRESS_DECOMPRESS
|
|
};
|
|
|
|
struct range_list {
|
|
uint8_t min;
|
|
uint8_t max;
|
|
uint8_t inc;
|
|
uint8_t count;
|
|
uint8_t list[MAX_LIST];
|
|
};
|
|
|
|
struct comp_test_data {
|
|
char driver_name[64];
|
|
char input_file[64];
|
|
struct rte_mbuf **comp_bufs;
|
|
struct rte_mbuf **decomp_bufs;
|
|
uint32_t total_bufs;
|
|
uint8_t *input_data;
|
|
size_t input_data_sz;
|
|
uint8_t *compressed_data;
|
|
uint8_t *decompressed_data;
|
|
struct rte_mempool *comp_buf_pool;
|
|
struct rte_mempool *decomp_buf_pool;
|
|
struct rte_mempool *op_pool;
|
|
int8_t cdev_id;
|
|
uint16_t seg_sz;
|
|
uint16_t burst_sz;
|
|
uint32_t pool_sz;
|
|
uint32_t num_iter;
|
|
uint16_t max_sgl_segs;
|
|
enum rte_comp_huffman huffman_enc;
|
|
enum comp_operation test_op;
|
|
int window_sz;
|
|
struct range_list level;
|
|
/* Store TSC duration for all levels (including level 0) */
|
|
uint64_t comp_tsc_duration[RTE_COMP_LEVEL_MAX + 1];
|
|
uint64_t decomp_tsc_duration[RTE_COMP_LEVEL_MAX + 1];
|
|
size_t comp_data_sz;
|
|
size_t decomp_data_sz;
|
|
double ratio;
|
|
double comp_gbps;
|
|
double decomp_gbps;
|
|
double comp_tsc_byte;
|
|
double decomp_tsc_byte;
|
|
};
|
|
|
|
int
|
|
comp_perf_options_parse(struct comp_test_data *test_data, int argc,
|
|
char **argv);
|
|
|
|
void
|
|
comp_perf_options_default(struct comp_test_data *test_data);
|
|
|
|
int
|
|
comp_perf_options_check(struct comp_test_data *test_data);
|
|
|
|
#endif
|