Hi,
I used below ugly way to benchmark the performance roughly. In POC,
confirmed the hardware crypto engine is the bottleneck and not very
fast
for packet not over than 1500 bytes. Overhead is required for queuing
the data to crypto engine and sending data back to kernel.
ktime_get_real_ts64(&init_time);
ret = crypto_wait_req(crypto_aead_encrypt(req), &wait);
ktime_get_real_ts64(&comp_time);
init_usecs = (init_time.tv_sec * 1000 * 1000) +
(init_time.tv_nsec / 1000);
comp_usecs = (comp_time.tv_sec * 1000 * 1000) +
(comp_time.tv_nsec / 1000);
delta_usecs += comp_usecs - init_usecs;
total_size += skb->len - head_size;
if(total_size > 100000000){
mbits = total_size * 8;
printk("total_size is %u bytes, time is %u, the rate
is %u\n", total_size, delta_usecs, mbits/delta_usecs);
total_size = 0;
delta_usecs = 0;
}
......
......
Tony
Tony He <[email protected]> 于2022年4月2日周六 17:40写道:
>
> Hi Antonio,
>
> I am porting ovpn-dco to embedded ARMv8 device with hardware crypto
> engine. However the performance is not very good.
> It's about 130-140Mbps. I expect more. The SDK already provides kernel
> CryptoAPI(CFI) interface to access the crypto engine.
> I want to know if the crypto operation is the bottleneck. Do you know
> how to benchmark crypto performance in the kernel space?
> Any advice is welcome. Thank you!
>
> Tony
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel