Comments (2)
Do these tests in a test branch (https://github.com/hzhuang1/uadk/tree/debug_sec_v0.1). In this test branch, there's a patch to dump the duty cycles in different periods in each transmission.
commit 582608f0b62e802eb3aab672f0e69bfc432e7de3
Author: Haojian Zhuang <[email protected]>
Date: Fri Sep 10 14:24:44 2021 +0800
debug: check the duty cycle
Signed-off-by: Haojian Zhuang <[email protected]>
With this patch, it could dump four periods. They're pick next ctx, lock in algorithm, cipher send, cipher recv.
And there's another patch to remove the mutex in UADK scheduler.
commit e87ce6d78d6fb24a7cb85221c9b0c3038c9e0374 (HEAD -> debug_sec_v0.1, hzhuang1/debug_sec_v0.1)
Author: Haojian Zhuang <[email protected]>
Date: Sun Sep 12 08:04:38 2021 +0800
sched: remove the lock
Use lock-free to select one ctx from region.
Atomic operations are used to make sure each operation on region->last
variable is atomic. Since other global variables are treated as contant
value. And updating local variables won't change variables in other
threads.
Signed-off-by: Haojian Zhuang <[email protected]>
hzhuang1@ubuntu:~/uadk$ ./zip_run.sh
start UADK benchmark test.
[--algname]: aes-128-cbc
[--mode]: 1
[--optype]: 0
[--syncmode]:0
[--pktlen]: 1024
[--seconds]: 3
[--thread]: 4
[--multi]: 1
[--ctxnum]: 16
[--algclass]:cipher
[--acctype]: 0
[--engine]:
hisi sec init Kunpeng920!
algname: length: perf: iops: CPU_rate:
aes-128-cbc 1024Bytes 853373.8KB/s 833.3Kops 399.64%
duty cycle:9.08%, 6.46%, 15.58%, 66.27%
start UADK benchmark test.
[--algname]: aes-128-cbc
[--mode]: 1
[--optype]: 0
[--syncmode]:0
[--pktlen]: 1024
[--seconds]: 3
[--thread]: 4
[--multi]: 1
[--ctxnum]: 24
[--algclass]:cipher
[--acctype]: 0
[--engine]:
hisi sec init Kunpeng920!
algname: length: perf: iops: CPU_rate:
aes-128-cbc 1024Bytes 856045.1KB/s 835.9Kops 399.62%
duty cycle:9.43%, 6.16%, 16.18%, 66.99%
start UADK benchmark test.
[--algname]: aes-128-cbc
[--mode]: 1
[--optype]: 0
[--syncmode]:0
[--pktlen]: 1024
[--seconds]: 3
[--thread]: 4
[--multi]: 1
[--ctxnum]: 32
[--algclass]:cipher
[--acctype]: 0
[--engine]:
hisi sec init Kunpeng920!
algname: length: perf: iops: CPU_rate:
aes-128-cbc 1024Bytes 856809.9KB/s 836.6Kops 399.64%
duty cycle:8.59%, 6.76%, 15.51%, 66.39%
With the new data, we could observe all data are similar while ctx numbers are changed. CTX numbers should be always great than thread numbers.
from uadk.
OK
from uadk.
Related Issues (20)
- kernel integrate vsva patches for verifying vsva feature HOT 3
- uacce support docker HOT 1
- uadk v1 can not work HOT 1
- uadk cipher perfmance is much worse than warpdrive perfmance when using multi-queue by test. HOT 1
- kae on uadk v1 still has issue HOT 2
- zip_sva_perf run hw file decompress failed HOT 1
- digest stream mode not supported
- Potential error(e.g. deadlock, ill performance) due to the unreleased lock HOT 4
- UADK multi-threaded performance issues HOT 2
- uadk can not support nginx since cipher and digest can not re-enter HOT 1
- Can you show the version number in the code? HOT 5
- io page fault
- remove fmin in wd_util.c HOT 1
- libcrypto_wd.so should be libcrypto.so? HOT 1
- apt-get install libnuma-dev has issue after numa source code make install HOT 1
- compilation failure with GCC 12 HOT 1
- 虚拟机跑SEC业务概率出错 HOT 2
- In guest system, init2 fails since wd_get_usable_list failed to get usable devices(-19)! HOT 2
- cipher modes supported by v1 not supported by UADK HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uadk.