summaryrefslogtreecommitdiffstats
path: root/src/spdk/dpdk/app/test-compress-perf/comp_perf_options.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/spdk/dpdk/app/test-compress-perf/comp_perf_options.h
parentInitial commit. (diff)
downloadceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz
ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/spdk/dpdk/app/test-compress-perf/comp_perf_options.h')
-rw-r--r--src/spdk/dpdk/app/test-compress-perf/comp_perf_options.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/spdk/dpdk/app/test-compress-perf/comp_perf_options.h b/src/spdk/dpdk/app/test-compress-perf/comp_perf_options.h
new file mode 100644
index 000000000..0b777521c
--- /dev/null
+++ b/src/spdk/dpdk/app/test-compress-perf/comp_perf_options.h
@@ -0,0 +1,86 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2018 Intel Corporation
+ */
+
+#ifndef _COMP_PERF_OPS_
+#define _COMP_PERF_OPS_
+
+#define MAX_LIST 32
+#define MIN_COMPRESSED_BUF_SIZE 8
+#define EXPANSE_RATIO 1.1
+#define MAX_MBUF_DATA_SIZE (UINT16_MAX - RTE_PKTMBUF_HEADROOM)
+#define MAX_SEG_SIZE ((int)(MAX_MBUF_DATA_SIZE / EXPANSE_RATIO))
+
+extern const char *comp_perf_test_type_strs[];
+
+/* Cleanup state machine */
+enum cleanup_st {
+ ST_CLEAR = 0,
+ ST_TEST_DATA,
+ ST_COMPDEV,
+ ST_INPUT_DATA,
+ ST_MEMORY_ALLOC,
+ ST_DURING_TEST
+};
+
+enum cperf_test_type {
+ CPERF_TEST_TYPE_THROUGHPUT,
+ CPERF_TEST_TYPE_VERIFY,
+ CPERF_TEST_TYPE_PMDCC
+};
+
+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[RTE_DEV_NAME_MAX_LEN];
+ char input_file[PATH_MAX];
+ enum cperf_test_type test;
+
+ uint8_t *input_data;
+ size_t input_data_sz;
+ uint16_t nb_qps;
+ uint16_t seg_sz;
+ uint16_t out_seg_sz;
+ uint16_t burst_sz;
+ uint32_t pool_sz;
+ uint32_t num_iter;
+ uint16_t max_sgl_segs;
+ uint32_t total_segs;
+
+ enum rte_comp_huffman huffman_enc;
+ enum comp_operation test_op;
+ int window_sz;
+ struct range_list level_lst;
+ uint8_t level;
+ int use_external_mbufs;
+
+ double ratio;
+ enum cleanup_st cleanup;
+ int perf_comp_force_stop;
+
+ uint32_t cyclecount_delay;
+};
+
+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