Hi Victor,
I took a look into the odp_cspeed source code and I noticed the following
two things:

- #define SHM_PKT_POOL_BUF_SIZE  (1024 * 32) - I think this value should be
related to the largest MTU the platform supports (maybe given as command
line argument).

- the application uses POLL queues exclusively to benchmark - I think there
should be also way to get the packets through the scheduler.

Thanks,
Alex

On 11 September 2014 04:10, Victor Kamensky <[email protected]>
wrote:

> Hi Folks,
>
> I put together small test program that measures speed with which
> ODP crypto operation could be performed. No other activity (i.e
> no network operations) just send as much as possible packets to
> encrypt and measure time around.
>
> Per crypto algoithm (ODP crypto operation) per payload test reports
>   o average elapsed time that takes per one operation
>   o CPU time of whole process per one operation
>   o CPU time of current thread per one operation
>
> Few minor changes precede main patch.
>
> Here is couple example outputs, run on Keystone II from linux-generic
> and latest posted linux-keystone2. Basically it shows that hw optimized
> implementation can do 3des operation in 22 times faster than sw opensll
> based implementation. Note Taras did not spend any time on optimizing
> his linux-keystone2 implementation, so I hope latter results could be
> even better.
>
>
> linux-generic
> -------------
>
> root@genericarmv7a:~/odp/20140910/generic_armv7/example/cspeed#
> ./odp_cspeed
>
> Buffer pool init global
>   pool_entry_s size     128
>   pool_entry_t size     128
>   odp_buffer_hdr_t size 72
>
> Queue init ... done
> Queue init global
>   struct queue_entry_s size 192
>   queue_entry_t size        192
>
> Schedule init ... done
> Timer init ...done
>
>                      algorithm      avg over # payload (bytes)    elapsed
> (us)  rusg self (us)  rusg thrd (us) throughput (Kb)
>                  3des-cbs-null           10000              16
>  3.849           4.000           4.000            4059
>                  3des-cbs-null           10000              64
> 11.162          11.000          11.000            5599
>                  3des-cbs-null           10000             256
> 40.449          41.000          41.000            6180
>                  3des-cbs-null           10000            1024
>  157.590         157.000         157.000            6345
>                  3des-cbs-null           10000            8192
> 1251.681        1251.000        1251.000            6391
>                  3des-cbs-null           10000           16384
> 2503.306        2502.000        2501.000            6391
>
>                      algorithm      avg over # payload (bytes)    elapsed
> (us)  rusg self (us)  rusg thrd (us) throughput (Kb)
>           3des-cbs-hmac-md5-96           10000              16
> 13.966          14.000          13.000            1118
>           3des-cbs-hmac-md5-96           10000              64
> 21.845          22.000          21.000            2861
>           3des-cbs-hmac-md5-96           10000             256
> 52.754          53.000          52.000            4738
>           3des-cbs-hmac-md5-96           10000            1024
>  176.684         176.000         176.000            5659
>           3des-cbs-hmac-md5-96           10000            8192
> 1331.569        1331.000        1330.000            6007
>           3des-cbs-hmac-md5-96           10000           16384
> 2653.549        2652.000        2652.000            6029
>
>                      algorithm      avg over # payload (bytes)    elapsed
> (us)  rusg self (us)  rusg thrd (us) throughput (Kb)
>               null-hmac-md5-96           10000              16
>  9.596          10.000           9.000            1628
>               null-hmac-md5-96           10000              64
> 10.201          10.000          10.000            6126
>               null-hmac-md5-96           10000             256
> 12.393          12.000          12.000           20172
>               null-hmac-md5-96           10000            1024
> 19.038          19.000          19.000           52526
>               null-hmac-md5-96           10000            8192
> 82.906          83.000          83.000           96495
>               null-hmac-md5-96           10000           16384
>  156.675         157.000         157.000          102122
>
>
> linux-keystone2
> ---------------
>
> root@genericarmv7a:~/odp/20140910/keystone2_armv7/example/cspeed#
> ./odp_cspeed -f 20
> Schedule init ... done
> Timer init ...done
>
>                      algorithm      avg over # payload (bytes)    elapsed
> (us)  rusg self (us)  rusg thrd (us) throughput (Kb)
>                  3des-cbs-null           10000              16
>  2.623           3.000           2.000            5956
>                  3des-cbs-null           10000              64
>  2.636           3.000           2.000           23712
>                  3des-cbs-null           10000             256
>  2.737           2.000           2.000           91354
>                  3des-cbs-null           10000            1024
>  7.033           7.000           7.000          142194
>                  3des-cbs-null           10000            8192
> 56.252          57.000          56.000          142216
>                  3des-cbs-null           10000           16384
>  112.502         112.000         112.000          142219
>
>                      algorithm      avg over # payload (bytes)    elapsed
> (us)  rusg self (us)  rusg thrd (us) throughput (Kb)
>           3des-cbs-hmac-md5-96           10000              16
>  2.794           3.000           3.000            5591
>           3des-cbs-hmac-md5-96           10000              64
>  2.804           3.000           3.000           22293
>           3des-cbs-hmac-md5-96           10000             256
>  2.852           2.000           2.000           87670
>           3des-cbs-hmac-md5-96           10000            1024
>  7.350           8.000           8.000          136056
>           3des-cbs-hmac-md5-96           10000            8192
> 56.252          56.000          56.000          142218
>           3des-cbs-hmac-md5-96           10000           16384
>  112.502         112.000         112.000          142220
>
>                      algorithm      avg over # payload (bytes)    elapsed
> (us)  rusg self (us)  rusg thrd (us) throughput (Kb)
>               null-hmac-md5-96           10000              16
>  2.742           2.000           2.000            5698
>               null-hmac-md5-96           10000              64
>  2.762           3.000           2.000           22630
>               null-hmac-md5-96           10000             256
>  2.799           3.000           2.000           89333
>               null-hmac-md5-96           10000            1024
>  7.350           7.000           7.000          136056
>               null-hmac-md5-96           10000            8192
> 53.151          53.000          53.000          150514
>               null-hmac-md5-96           10000           16384
>  105.495         106.000         105.000          151666
>
>
>
>
> Victor Kamensky (5):
>   linux-generic: crypto: add simple
>     odp_crypto_get_operation_compl_packet impl
>   linux-generic: crypto: odp_crypto_session_create in failure set
>     session to invalid
>   linux-generic: crypto: added dummy odp_crypto_session_destroy
>   linux-generic: api: add odp_crypto.h and odp_rwlock.h to odp.h
>   example: test program that measures speed of ODP crypto operations
>
>  configure.ac                                    |   1 +
>  example/Makefile.am                             |   2 +-
>  example/cspeed/Makefile.am                      |   6 +
>  example/cspeed/odp_cspeed.c                     | 918
> ++++++++++++++++++++++++
>  platform/linux-generic/include/api/odp.h        |   2 +
>  platform/linux-generic/include/api/odp_crypto.h |   2 +
>  platform/linux-generic/odp_crypto.c             |  20 +-
>  7 files changed, 949 insertions(+), 2 deletions(-)
>  create mode 100644 example/cspeed/Makefile.am
>  create mode 100644 example/cspeed/odp_cspeed.c
>
> --
> 1.8.1.4
>
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> http://lists.linaro.org/mailman/listinfo/lng-odp
>
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to