diff --git a/KAELz4/src/kaelz4_adapter.h b/KAELz4/src/kaelz4_adapter.h index ce670e26582f0cf313a410244492946d35e2ccec..a330a25d6a57eafd380f23832e6022ecf14f0168 100644 --- a/KAELz4/src/kaelz4_adapter.h +++ b/KAELz4/src/kaelz4_adapter.h @@ -24,7 +24,7 @@ enum { #define KAELZ4_TASK_QUEUE_DEPTH 1024 #define ENQUEUE_TIME_OUT_US 1000000 #define SMALL_BLOCK_SIZE (64 * 1024) -#define SMALL_BLOCK_MAX_BUF_NUM (60) +#define SMALL_BLOCK_MAX_BUF_NUM (255) #define ASYNC_DEQUEUE_PROCESS_DEFAULT_BUDGET 1 #define ASYNC_POLLING_DEFAULT_BUDGET 1 diff --git a/KAELz4/src/v1/kaelz4_ctx.h b/KAELz4/src/v1/kaelz4_ctx.h index 7fb5109dff60bc01f4182d8f99a408ba20992fb1..dc3060f816c14a400e4cf91c492eb5172f0dacd6 100644 --- a/KAELz4/src/v1/kaelz4_ctx.h +++ b/KAELz4/src/v1/kaelz4_ctx.h @@ -12,7 +12,7 @@ #include "uadk/v1/wd_comp.h" #define MAX_KAE_CTX_DEPTH 64 -#define REQ_BUFFER_MAX 60 // uadk支持最大的sgl buf数量 +#define REQ_BUFFER_MAX 255 // uadk支持最大的sgl buf数量 enum kaelz4_comp_status { KAEZIP_COMP_INIT = 0, diff --git a/KAELz4/test/kzip/compress_ctx.h b/KAELz4/test/kzip/compress_ctx.h index 0b54cf6e8e0024bfa6dac7fe876433ba9d82b540..0a01869cbeb5e9e8df542feae05f2025fa46655f 100644 --- a/KAELz4/test/kzip/compress_ctx.h +++ b/KAELz4/test/kzip/compress_ctx.h @@ -39,9 +39,9 @@ struct __attribute__((aligned(64))) compress_param { struct kaelz4_buffer_list tuple; uint64_t start_time; volatile unsigned int done; - struct kaelz4_buffer src_buf[128]; - struct kaelz4_buffer dst_buf[128]; - struct kaelz4_buffer tuple_buf[128]; + struct kaelz4_buffer src_buf[1024]; + struct kaelz4_buffer dst_buf[1024]; + struct kaelz4_buffer tuple_buf[1024]; }; struct compress_ctx { diff --git a/KAELz4/test/kzip/main.c b/KAELz4/test/kzip/main.c index f50bae933a7795202a0266635fe526cf8e118429..8fc38ede2acfd6b96671250b7b1806954a8f4858 100644 --- a/KAELz4/test/kzip/main.c +++ b/KAELz4/test/kzip/main.c @@ -1545,12 +1545,12 @@ int main(int argc, char **argv) return -1; } - struct compress_ctx ctx; - compress_ctx_init(&ctx, compress, inflight_num, chunk_len, algorithm, is_test_crc); - ctx.loop_times = loop_times; + struct compress_ctx *ctx = malloc(sizeof(struct compress_ctx)); + compress_ctx_init(ctx, compress, inflight_num, chunk_len, algorithm, is_test_crc); + ctx->loop_times = loop_times; - if (!ctx.compress_or_decompress && g_file_chunk_size > 0 && threadNum == 1) { // 如果是分片解压,单独处理 - ret = start_work_decompress(&ctx, in_filename, out_filename, multi, window_bits, level); + if (!ctx->compress_or_decompress && g_file_chunk_size > 0 && threadNum == 1) { // 如果是分片解压,单独处理 + ret = start_work_decompress(ctx, in_filename, out_filename, multi, window_bits, level); } else { if (threadNum > 1) { pthread_t threads[threadNum]; @@ -1574,15 +1574,16 @@ int main(int argc, char **argv) pthread_join(threads[j], NULL); } } else { - ret = start_work(&ctx, in_filename, out_filename, multi, window_bits, level); + ret = start_work(ctx, in_filename, out_filename, multi, window_bits, level); } } - if (ctx.sess) - KAELZ4_destroy_async_compress_session(ctx.sess); + if (ctx->sess) + KAELZ4_destroy_async_compress_session(ctx->sess); else LZ4_teardown_async_compress(); - compress_ctx_destory(&ctx); + compress_ctx_destory(ctx); + free(ctx); return ret; } diff --git a/scripts/patches/0008-uadk-support-sgl-zero-copy-for-kaelz4.patch b/scripts/patches/0008-uadk-support-sgl-zero-copy-for-kaelz4.patch index 8f9c3375df000f73f6bc8d3f0948e9a1fb4eb9bc..f7f1fda61f7affbd1563de07c1d8fa882be0c3ca 100644 --- a/scripts/patches/0008-uadk-support-sgl-zero-copy-for-kaelz4.patch +++ b/scripts/patches/0008-uadk-support-sgl-zero-copy-for-kaelz4.patch @@ -78,7 +78,7 @@ index cb3b8ee..51dbe9c 100644 + struct wd_sglpool *sgl_pool = pool; + + sgl->buf_num = buf_list->buf_num; -+ sgl->sge_num = buf_list->buf_num + 1; ++ sgl->sge_num = buf_list->buf_num; + sgl->pool = pool; + for (int i = 0; i < sgl->buf_num; i++) { + sgl->sge[i].flag = 0;