Update some patch for uadk from mainline. To get more infomation, please visit the homepage: https://github.com/Linaro/uadk Signed-off-by: Yang Shen <shenyang39@huawei.com>
56 lines
1.7 KiB
Diff
56 lines
1.7 KiB
Diff
From 4b10036f1504396fd61fac2ada45c8bc84cfd77e Mon Sep 17 00:00:00 2001
|
|
From: Wenkai Lin <linwenkai6@hisilicon.com>
|
|
Date: Thu, 24 Feb 2022 11:22:26 +0800
|
|
Subject: [PATCH 73/76] uadk: v1: fix for cookie initialization
|
|
|
|
If ctx message number is too big, it takes a lot of time
|
|
to initialize each cookies and drag performance, so this
|
|
patch reduce it from 1024 to 64.
|
|
We also found calloc in wd_init_cookie_pool use to much cpu
|
|
when it does memset zero, which is not unnecessary, so
|
|
replace it with malloc is better.
|
|
|
|
Signed-off-by: Wenkai Lin <linwenkai6@hisilicon.com>
|
|
---
|
|
v1/wd_util.c | 7 ++++---
|
|
v1/wd_util.h | 2 +-
|
|
2 files changed, 5 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/v1/wd_util.c b/v1/wd_util.c
|
|
index 616bf69..715804c 100644
|
|
--- a/v1/wd_util.c
|
|
+++ b/v1/wd_util.c
|
|
@@ -85,12 +85,13 @@ void wd_free_id(__u8 *buf, __u32 size, __u32 id, __u32 id_max)
|
|
int wd_init_cookie_pool(struct wd_cookie_pool *pool,
|
|
__u32 cookies_size, __u32 cookies_num)
|
|
{
|
|
- pool->cookies = calloc(1, cookies_size * cookies_num + cookies_num);
|
|
+ __u64 total_size = cookies_size * cookies_num;
|
|
+
|
|
+ pool->cookies = malloc(total_size + cookies_num);
|
|
if (!pool->cookies)
|
|
return -WD_ENOMEM;
|
|
|
|
- pool->cstatus = (void *)((uintptr_t)pool->cookies +
|
|
- cookies_num * cookies_size);
|
|
+ pool->cstatus = (void *)((uintptr_t)pool->cookies + total_size);
|
|
pool->cookies_num = cookies_num;
|
|
pool->cookies_size = cookies_size;
|
|
pool->cid = 0;
|
|
diff --git a/v1/wd_util.h b/v1/wd_util.h
|
|
index 1ac157e..78b91ee 100644
|
|
--- a/v1/wd_util.h
|
|
+++ b/v1/wd_util.h
|
|
@@ -36,7 +36,7 @@
|
|
#include "v1/wd_ecc.h"
|
|
#include "v1/wd_adapter.h"
|
|
|
|
-#define WD_CTX_MSG_NUM 1024
|
|
+#define WD_CTX_MSG_NUM 64
|
|
#define WD_HPRE_CTX_MSG_NUM 64
|
|
#define WD_RNG_CTX_MSG_NUM 256
|
|
#define WD_MAX_CTX_NUM 256
|
|
--
|
|
2.25.1
|
|
|