Processor SDK Linux RT Kernel Performance Guide

From Texas Instruments Wiki
Jump to: navigation, search

Ti stk 1c rev rgb png.png


Read This First

All performance numbers provided in this document are gathered using following Evaluation Modules unless otherwise specified.

Evaluation Modules
Name Description
AM335x AM335x Evaluation Module rev 1.5B with ARM running at 1000MHz, DDR3-400 (400MHz/800 MT/S), TMDXEVM3358
AM437x-gpevm AM437x-gpevm Evaluation Module rev 1.5A with ARM running at 1000MHz, DDR3-400 (400MHz/800 MT/S), TMDSEVM437X
AM572x IDK AM57xx Evaluation Module rev A2 with ARM running at 1500MHz, DDR3L-533 (533 MHz/1066 MT/S), TMDXIDK5278
K2HK EVM K2 Hawkings Evaluation Module rev 40 with ARM running at 1200MHz, DDR3-1600 (800 MHz/1600 MT/S), EVMK2H
K2G EVM K2 Galileo Evaluation Module rev C, DDR3-1333 (666 MHz/1333 MT/S), EVMK2G


About This Manual

This document provides performance data for each of the device drivers which are part of the Processor SDK Linux package. This document should be used in conjunction with release notes and user guides provided with the Processor SDK Linux package for information on specific issues present with drivers included in a particular release.

If You Need Assistance

For further information or to report any problems, contact http://community.ti.com/ or http://support.ti.com/

Linux Kernel

System Benchmarks

LMBench

LMBench
LMBENCH / host LMBENCH_L_PERF_HostSide 2017.03
am572x-idk
af_unix_sock_stream_latency (microsec) 65.07
af_unix_socket_stream_bandwidt (MBs) 1338.6
bw_file_rd-io-1mb (MB/s) 815.13
bw_file_rd-o2c-1mb (MB/s) 652.74
bw_mem-bcopy-16mb (MB/s) 1766.39
bw_mem-bcopy-1mb (MB/s) 3391.04
bw_mem-bcopy-2mb (MB/s) 2245.51
bw_mem-bcopy-4mb (MB/s) 1846.15
bw_mem-bcopy-8mb (MB/s) 1770.89
bw_mem-bzero-16mb (MB/s) 3753.67
bw_mem-bzero-1mb (MB/s) 3766.12 (min 3391.04, max 4141.2)
bw_mem-bzero-2mb (MB/s) 3149.44 (min 2245.51, max 4053.37)
bw_mem-bzero-4mb (MB/s) 2878.11 (min 1846.15, max 3910.07)
bw_mem-bzero-8mb (MB/s) 2796.88 (min 1770.89, max 3822.87)
bw_mem-cp-16mb (MB/s) 982.26
bw_mem-cp-1mb (MB/s) 3447.46 (min 2781.16, max 4113.75)
bw_mem-cp-2mb (MB/s) 2608.85 (min 1110.91, max 4106.78)
bw_mem-cp-4mb (MB/s) 2457.35 (min 986.07, max 3928.63)
bw_mem-cp-8mb (MB/s) 2397.86 (min 982.56, max 3813.16)
bw_mem-fcp-16mb (MB/s) 884.37
bw_mem-fcp-1mb (MB/s) 3127.13 (min 2113.05, max 4141.2)
bw_mem-fcp-2mb (MB/s) 2526.35 (min 999.33, max 4053.37)
bw_mem-fcp-4mb (MB/s) 2396.59 (min 883.1, max 3910.07)
bw_mem-fcp-8mb (MB/s) 2350.03 (min 877.19, max 3822.87)
bw_mem-frd-16mb (MB/s) 747.8
bw_mem-frd-1mb (MB/s) 2075.99 (min 2038.92, max 2113.05)
bw_mem-frd-2mb (MB/s) 1255.38 (min 999.33, max 1511.43)
bw_mem-frd-4mb (MB/s) 871.8 (min 860.49, max 883.1)
bw_mem-frd-8mb (MB/s) 815.74 (min 754.29, max 877.19)
bw_mem-fwr-16mb (MB/s) 3746.63
bw_mem-fwr-1mb (MB/s) 3076.34 (min 2038.92, max 4113.75)
bw_mem-fwr-2mb (MB/s) 2809.11 (min 1511.43, max 4106.78)
bw_mem-fwr-4mb (MB/s) 2394.56 (min 860.49, max 3928.63)
bw_mem-fwr-8mb (MB/s) 2283.73 (min 754.29, max 3813.16)
bw_mem-rd-16mb (MB/s) 2583.14
bw_mem-rd-1mb (MB/s) 8166.93 (min 7246.38, max 9087.47)
bw_mem-rd-2mb (MB/s) 5961.79 (min 5085.36, max 6838.22)
bw_mem-rd-4mb (MB/s) 2208.01 (min 1578.12, max 2837.89)
bw_mem-rd-8mb (MB/s) 1947.43 (min 1284.32, max 2610.54)
bw_mem-rdwr-16mb (MB/s) 840.16
bw_mem-rdwr-1mb (MB/s) 3687.11 (min 2781.16, max 4593.06)
bw_mem-rdwr-2mb (MB/s) 1911.0 (min 1110.91, max 2711.08)
bw_mem-rdwr-4mb (MB/s) 993.73 (min 986.07, max 1001.38)
bw_mem-rdwr-8mb (MB/s) 918.54 (min 854.52, max 982.56)
bw_mem-wr-16mb (MB/s) 1264.52
bw_mem-wr-1mb (MB/s) 6840.27 (min 4593.06, max 9087.47)
bw_mem-wr-2mb (MB/s) 4774.65 (min 2711.08, max 6838.22)
bw_mem-wr-4mb (MB/s) 1289.75 (min 1001.38, max 1578.12)
bw_mem-wr-8mb (MB/s) 1069.42 (min 854.52, max 1284.32)
bw_mmap_rd-mo-1mb (MB/s) 2052.69
bw_mmap_rd-o2c-1mb (MB/s) 800.64
bw_pipe (MB/s) 348.52
bw_unix (MB/s) 1338.6
lat_connect (us) 89.37
lat_ctx-2-128k (us) 15.22
lat_ctx-2-256k (us) 27.28
lat_ctx-4-128k (us) 21.07
lat_ctx-4-256k (us) 40.14
lat_fs-0k (num_files) 193.0
lat_fs-10k (num_files) 80.0
lat_fs-1k (num_files) 114.0
lat_fs-4k (num_files) 118.0
lat_mem_rd-stride128-sz1000k (ns) 19.28
lat_mem_rd-stride128-sz125k (ns) 19.06
lat_mem_rd-stride128-sz250k (ns) 19.28
lat_mem_rd-stride128-sz31k (ns) 9.71
lat_mem_rd-stride128-sz50 (ns) 4.01
lat_mem_rd-stride128-sz500k (ns) 19.28
lat_mem_rd-stride128-sz62k (ns) 19.06
lat_mmap-1m (us) 91.0
lat_ops-double-add (ns) 1.1
lat_ops-double-mul (ns) 5.04
lat_ops-float-add (ns) 1.1
lat_ops-float-mul (ns) 5.04
lat_ops-int-add (ns) 1.01
lat_ops-int-bit (ns) 1.01
lat_ops-int-div (ns) 90.7
lat_ops-int-mod (ns) 13.11
lat_ops-int-mul (ns) 3.12
lat_ops-int64-add (ns) 1.11
lat_ops-int64-bit (ns) 1.01
lat_ops-int64-div (ns) 184.97
lat_ops-int64-mod (ns) 31.22
lat_pagefault (us) 1.86
lat_pipe (us) 37.84
lat_proc-exec (us) 997.5
lat_proc-fork (us) 970.83
lat_proc-proccall (us) 0.01
lat_select (us) 44.37
lat_sem (us) 5.53
lat_sig-catch (us) 5.97
lat_sig-install (us) 0.98
lat_sig-prot (us) 0.73
lat_syscall-fstat (us) 2.51
lat_syscall-null (us) 0.41
lat_syscall-open (us) 202.81
lat_syscall-read (us) 0.62
lat_syscall-stat (us) 7.81
lat_syscall-write (us) 0.5
lat_tcp (us) 0.81
lat_unix (us) 65.07
latency_for_0.50_mb_block_size (nanosec) 19.28
latency_for_1.00_mb_block_size (nanosec) 9.64 (min 0.0, max 19.28)
pipe_bandwidth (MBs) 348.52
pipe_latency (microsec) 37.84
procedure_call (microsec) 0.01
select_on_200_tcp_fds (microsec) 44.37
semaphore_latency (microsec) 5.53
signal_handler_latency (microsec) 0.98
signal_handler_overhead (microsec) 5.97
tcp_ip_connection_cost_to_loca (microsec) 89.37
tcp_latency_using_localhost (microsec) 0.81


Dhrystone

Dhrystone Benchmark
ARM Benchmarks / host Dhrystone_S_PERF_HostSide 2017.03
am572x-idk
dhrystone_per_mhz (DMIPS/MHz) 3.6
dhrystone_per_second (DhrystoneP) 6451613.0

Whestone

Whestone Benchmark
ARM Benchmarks / host Whetstone_S_PERF_HostSide 2017.03
am572x-idk
whetstone (MIPS) 2500.0

Linpack

Linpack Benchmark
ARM Benchmarks / host Linpack_S_PERF_HostSide 2017.03
am572x-idk
linpack (Kflops) 686667.0

NBench

NBench Benchmarks
ARM Benchmarks / host NBench_S_PERF_HostSide 2017.03
am572x-idk
assignment (Iterations) 11.36
fourier (Iterations) 8570.7
fp_emulation (Iterations) 102.62
huffman (Iterations) 948.23
idea (Iterations) 2908.5
lu_decomposition (Iterations) 553.2
neural_net (Iterations) 14.7
numeric_sort (Iterations) 519.8
string_sort (Iterations) 91.17

Stream

Stream Benchmarks
ARM Benchmarks / host Stream_1_core_S_PERF_Hostside 2017.03
am572x-idk
add (MB/s) 3169.1
copy (MB/s) 3439.5
scale (MB/s) 4179.0
triad (MB/s) 3078.7

Maximum Latency under different use cases

Shield (dedicated core) Case

The following tests measure worst-case latency under different scenarios or use cases.
Cyclictest application was used to measured latency. Each test ran for 4 hours.
Two cgroups were used using shield_shell procedure shown below.
The application running the use case and cyclictest ran on a dedicated cpu (rt) while the rest of threads ran on nonrt cpu.

shield_shell()
{
create_cgroup nonrt 0
create_cgroup rt 1
for pid in $(cat /sys/fs/cgroup/tasks); do /bin/echo $pid > /sys/fs/cgroup/nonrt/tasks; done
/bin/echo $$ > /sys/fs/cgroup/rt/tasks
}


Max Latency for shielded use cases
Use Case 2017.03
am572x-idk
Latency
L_PERF_SHIELD_SMP_1080ENC 50.0
L_PERF_SHIELD_SMP_1080ENCDEC 51.0
L_PERF_SHIELD_SMP_GRAPHICS 39.0
L_PERF_SHIELD_SMP_HACKBENCH 37.0
L_PERF_SHIELD_SMP_MEM 43.0
L_PERF_SHIELD_SMP_NET 34.0
L_PERF_SHIELD_SMP_NO_LOAD 45.0
L_PERF_SHIELD_SMP_STRESS_LOAD 45.0
L_PERF_SHIELD_SMP_UART 85.0
L_PERF_SHIELD_SMP_USB 59.0
L_PERF_SHIELD_SMP_USB_NET 79.0




OSADL Test

Latency test used by https://www.osadl.org/ Command: "cyclictest -l100000000 -m -n -a0 -t1 -p99 -i200 -h400 -q"

am572x-idk

# Total: 100000000
# Min Latencies: 00007
# Avg Latencies: 00011
# Max Latencies: 00034
# Histogram Overflows: 00000

# Histogram
000000 000000
000001 000000
000002 000000
000003 000000
000004 000000
000005 000000
000006 000000
000007 000001
000008 208451
000009 3099352
000010 5595699
000011 76003805
000012 11222876
000013 688038
000014 129577
000015 258595
000016 1633156
000017 321057
000018 126991
000019 025829
000020 009055
000021 345272
000022 277160
000023 035132
000024 014000
000025 001373
000026 000094
000027 000024
000028 000124
000029 001753
000030 002175
000031 000241
000032 000161
000033 000007
000034 000002
000035 000000


Boot-time Measurement

Sensor Capture

Capture video frames (MMAP buffers) with v4l2c-ctl and record the reported fps

Sensor Capture
Resolution Format 2017.03-rt
am572x-idk
Fps Sensor
1600x1200 ba81 14.57 (min 14.56, max 14.7) ov2659
1600x1200 rgb4 14.57 (min 14.56, max 14.7) ov2659
320x240 ba81 43.78 (min 43.7, max 44.0) ov2659
320x240 rgb4 43.78 (min 43.7, max 44.0) ov2659

Display Driver

Set different display modes using modetest's sync plus flip option (modetest -v -s ...)

Display performance (LCD)
Mode 2017.03-rt
am572x-idk
Fps
1920x1200@60 60.0 (min 59.88, max 60.11)


Display performance (HDMI)
Mode 2017.03-rt
am572x-idk
Fps
1024x768@60 60.0 (min 59.6, max 60.41)
1024x768@75 75.03 (min 74.42, max 75.66)
1152x864@75 75.0 (min 74.98, max 75.02)
1280x1024@60 60.02 (min 60.0, max 60.03)
1280x768@60 59.87 (min 59.6, max 60.14)
1280x800@75 74.93 (min 74.65, max 75.23)
1360x768@60 59.8 (min 59.41, max 60.17)
1400x1050@75 74.87 (min 74.21, max 75.53)
1440x900@60 59.89 (min 59.87, max 59.9)
1600x1200@65 65.0 (min 64.93, max 65.06)
1600x900@60 60.0 (min 59.99, max 60.01)
1680x1050@60 59.95 (min 59.84, max 60.07)
2048x1152@60 60.0 (min 59.94, max 60.05)
640x480@60 60.0 (min 59.99, max 60.01)
640x480@75 75.0 (min 74.97, max 75.02)
800x600@56 56.25 (min 55.93, max 56.57)
800x600@72 72.19 (min 72.17, max 72.2)
832x624@75 74.55 (min 74.53, max 74.58)


Graphics SGX Driver

Run GLBenchmark and capture performance reported Display rate (Fps), Fill rate, Vertex Throughput, etc. All display outputs (HDMI and LCD) are connected when running these tests

Performance (Fps)

GLBenchmark 2.5 Performance
Benchmark 2017.03-rt
am572x-idk
Test Number Fps
GLB25_EgyptTestC24Z16FixedTime test 2500005.0 35.68 (min 19.99, max 59.53)
GLB25_EgyptTestC24Z16_ETC1 test 2501001.0 43.07 (min 19.71, max 60.03)
GLB25_EgyptTestC24Z16_ETC1to565 test 2501401.0 43.02 (min 19.62, max 60.29)
GLB25_EgyptTestC24Z16_PVRTC4 test 2501101.0 42.94 (min 19.58, max 60.26)
GLB25_EgyptTestC24Z24MS4 test 2500003.0 39.95 (min 18.43, max 60.69)
GLB25_EgyptTestStandard_inherited test 2000000.0 59.93 (min 52.76, max 60.25)

Vertex Throughput

GLBenchmark 2.5 Vertex Throughput
Benchmark 2017.03-rt
am572x-idk
Test Number Rate (triangles/sec)
GLB25_TriangleTexFragmentLitTestC24Z16 test 2500511.0 24633910.0
GLB25_TriangleTexTestC24Z16 test 2500301.0 93623040.0
GLB25_TriangleTexVertexLitTestC24Z16 test 2500411.0 39051972.0

Pixel Throughput

GLBenchmark 2.5 Pixel Throughput
Benchmark 2017.03-rt
am572x-idk
Test Number Rate (texel/sec) Fps
GLB25_FillTestC24Z16 test 2500101.0 1217022336.0 49.49 (min 46.24, max 51.12)



Multimedia (Decode)

Run gstreamer pipeline "gst-launch-1.0 playbin uri=file://<Path to stream> video-sink="kmssink sync=false connector=<connector id>" audio-sink=fakesink" and calculate performance based on the execution time reported. All display display outputs (HDMI and LCD) were connected when running these tests, but playout was forced to LCD via the connector=<connector id> option.

H264

Gstreamer H264 in AVI Container Decode Performance
Resolution 2017.03-rt
am572x-idk
Fps IVA Freq (MHz) IPU Freq (MHz)
1080p 60.0 532.0
720p 59.94 532.0
720x480 61.13 532.0
800x480 62.3 532.0


Gstreamer H264 in MP4 Container Decode Performance
Resolution 2017.03-rt
am572x-idk
Fps IVA Freq (MHz) IPU Freq (MHz)
1080p 59.5 532.0
720p 59.94 532.0
720x480 60.00 532.0
800x480 60.0 532.0
CIF 60.0 532.0


MPEG4

GStreamer MPEG4 in MP4 Container Decode Performance
Resolution 2017.03-rt
am572x-idk
Fps IVA Freq (MHz) IPU Freq (MHz)
720p 59.94 532.0
VGA 60.0 532.0



GStreamer MPEG4 in AVI Container Decode Performance
Resolution 2017.03-rt
am572x-idk
Fps IVA Freq (MHz) IPU Freq (MHz)
720x576 61.11 532.0
VGA 63.75 532.0



GStreamer MPEG4 in 3GP Container Decode Performance
Resolution 2017.03-rt
am572x-idk
Fps IVA Freq (MHz) IPU Freq (MHz)
CIF 60.0 532.0
QVGA 60.0 532.0
VGA 63.75 532.0


MPEG2

GStreamer MPEG2 in MP4 Container Decode Performance
Resolution 2017.03-rt
am572x-idk
Fps IVA Freq (MHz) IPU Freq (MHz)
1080p 532.0
720p 59.94 532.0


Ethernet Driver

TCP Performance

Ethernet performance table
TCP Window Size(Kbytes) 2017.03-rt
am572x-idk
Bandwidth (without interrupt pacing, in Mbits/sec) CPU Load (without interrupt pacing, in %) Bandwidth (with interrupt pacing, in Mbits/sec) CPU Load (with interrupt pacing, in %)
16 360.8 78.0 436.0 60.0
32 360.8 75.0 338.0 65.4
64 452.0 86.21 424.8 81.21
128 492.0 75.0 550.0 83.0
256 618.4 80.0 616.4 85.0

UDP Performance

'
Ethernet__eth0_1G Ethernet_performance_UDP_64B_egress 2017.03-rt
am572x-idk
packet_size (bytes) 64.0
packets_per_second (kpps) 25.0
throughput (Mbits/s) 13.5
'
Ethernet__eth0_1G Ethernet_performance_UDP_128B_egress 2017.03-rt
am572x-idk
packet_size (bytes) 128.0
packets_per_second (kpps) 25.0
throughput (Mbits/s) 26.0
'
Ethernet__eth0_1G Ethernet_performance_UDP_256B_egress 2017.01-rt
am572x-idk
packet_size (bytes) 256.0
packets_per_second (kpps) 32.0
throughput (Mbits/s) 66.4
'
Ethernet__eth0_1G Ethernet_performance_UDP_512B_egress 2017.03-rt
am572x-idk
packet_size (bytes) 512.0
packets_per_second (kpps) 27.0
throughput (Mbits/s) 112.0
'
Ethernet__eth0_1G Ethernet_performance_UDP_1024B_egress 2017.03-rt
am572x-idk
packet_size (bytes) 1024.0
packets_per_second (kpps) 27.0
throughput (Mbits/s) 229.0
'
Ethernet__eth0_1G Ethernet_performance_UDP_1470B_egress 2017.03-rt
am572x-idk
packet_size (bytes) 1470.0
packets_per_second (kpps) 27.0
throughput (Mbits/s) 328.0
'
Ethernet__eth0_1G Ethernet_performance_UDP_64B_ingress 2017.03-rt
am572x-idk
packet_size (bytes) 64.0
packets_per_second (kpps) 52.0
throughput (Mbits/s) 27.5
'
Ethernet__eth0_1G Ethernet_performance_UDP_128B_ingress 2017.03-rt
am572x-idk
packet_size (bytes) 128.0
packets_per_second (kpps) 42.0
throughput (Mbits/s) 44.7
'
Ethernet__eth0_1G Ethernet_performance_UDP_256B_ingress 2017.03-rt
am572x-idk
packet_size (bytes) 256.0
packets_per_second (kpps) 27.0
throughput (Mbits/s) 57.4
'
Ethernet__eth0_1G Ethernet_performance_UDP_512B_ingress 2017.03-rt
am572x-idk
packet_size (bytes) 512.0
packets_per_second (kpps) 34.0
throughput (Mbits/s) 143.0
'
Ethernet__eth0_1G Ethernet_performance_UDP_1024B_ingress 2017.03-rt
am572x-idk
packet_size (bytes) 1024.0
packets_per_second (kpps) 65.0
throughput (Mbits/s) 500.0
'
Ethernet__eth0_1G Ethernet_performance_UDP_1470B_ingress 2017.03-rt
am572x-idk
packet_size (bytes) 1470.0
packets_per_second (kpps) 60.0
throughput (Mbits/s) 660.0



The performance numbers were captured using the iperf tool. Usage details are mentioned below:

  • iperf version 2.0.5
  • On PC Host invoke iperf in the server mode.
iperf -s
  • On the DUT iperf is invoked in client mode   (bi-directional traffic for 60 seconds).
iperf -c <server ip> -w <window size> -m -f M -d -t 60
  • Interrupt pacing feature enabled with pacing interval set to 500usecs. For faster processors such as AM57, 100usecs was used.
ethtool -C eth0 rx-usecs 500
  • DUT is connected to a gigabit network.


USB Driver

XHCI Host controller

IMPORTANT
For Mass-storage applications, the performance numbers can be severely affected if the media is mounted in sync mode. Hot plug scripts in the filesystem mount removable media in sync mode to ensure data integrity. For performance sensitive applications, umount the auto-mounted filesystem and re-mount in async mode.


Setup : Western Digital 1TB (My Book Essential) USB hard disk is connected to usb0 port. File read/write performance data on usb0 port is captured. For detailed test setup refer to USB MSC host test setup

AM572X-IDK USB MSC Host mode EXT2 File System Performance

USB-MSC XHCI Host-Write Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 30.00 20.00
1048576 28.00 18.00
5242880 28.00 17.00


USB-MSC XHCI Host-Read Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 75.00 24.00
1048576 76.00 17.92
5242880 74.00 22.22

AM57XX USB MSC Host mode VFAT File System Performance

USB-MSC XHCI Host-Write Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 65.01 21.70
262144 60.71 17.61


USB-MSC XHCI Host-Read Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 87.19 13.56
262144 86.38 11.69



USB Mass Storage Class Slave Driver

The performance numbers are captured using a file inside /dev/shm as storage gadget media exposed as removable media to an Ubuntu 10.04 host over USB. The storage media is formatted as vfat filesystem.
Storage gadget media file is created using the command:

# dd if=/dev/zero of=/dev/shm/50M bs=1M count=50"

Insert the USB mass storage gadget with /dev/shm/50M as the backing storage:

# insmod g_mass_storage.ko file=/dev/shm/50M 

For test setup details refer to USB MSC device setup

AM572X-IDK USB SLAVE DEVICE PERFORMANCE

AM572X-IDK USB Slave Read Performance values
Bytes Transferred (MB)"/dev/shm/50M" file as storage device Number of files transferred Total Bytes transferred (MB) Transfer Rate (MB/sec)
50 1 50 21.2
AM572X-IDK USB Slave Write Performance values
Bytes Transferred (MB)"/dev/shm/50M" file as storage device Number of files transferred Total Bytes transferred (MB) Transfer Rate (MB/sec)
50 1 50 30.1


CRYPTO Driver

OpenSSL Performance

'
CRYPTO host openssl_performance_tests Crypto_M_PERF_openssl_perf_hardware_acceleration 2017.03
am572x-idk
aes-128-cbc_cpu_util (%)
aes-128-cbc_system_time (s)
aes-128-cbc_throughput_1024_by (KBytes/s)
aes-128-cbc_throughput_16_byte (KBytes/s)
aes-128-cbc_throughput_256_byt (KBytes/s)
aes-128-cbc_throughput_64_byte (KBytes/s)
aes-128-cbc_throughput_8192_by (KBytes/s)
aes-128-cbc_user_time (s)
aes-192-cbc_cpu_util (%)
aes-192-cbc_system_time (s)
aes-192-cbc_throughput_1024_by (KBytes/s)
aes-192-cbc_throughput_16_byte (KBytes/s)
aes-192-cbc_throughput_256_byte (KBytes/s)
aes-192-cbc_throughput_64_byte (KBytes/s)
aes-192-cbc_throughput_8192_by (KBytes/s)
aes-192-cbc_user_time (s)
aes-256-cbc_cpu_util (%)
aes-256-cbc_system_time (s)
aes-256-cbc_throughput_1024_by (KBytes/s)
aes-256-cbc_throughput_16_byte (KBytes/s)
aes-256-cbc_throughput_256_byt (KBytes/s)
aes-256-cbc_throughput_64_byte (KBytes/s)
aes-256-cbc_throughput_8192_by (KBytes/s)
aes-256-cbc_user_time (s)
des-cbc_cpu_util (%)
des-cbc_system_time (s)
des-cbc_throughput_1024_bytes (KBytes/s)
des-cbc_throughput_16_bytes (KBytes/s)
des-cbc_throughput_256_bytes (KBytes/s)
des-cbc_throughput_64_bytes (KBytes/s)
des-cbc_throughput_8192_bytes (KBytes/s)
des-cbc_user_time (s)
des3_cpu_util (%)
des3_system_time (s)
des3_throughput_1024_bytes (KBytes/s)
des3_throughput_16_bytes (KBytes/s)
des3_throughput_256_bytes (KBytes/s)
des3_throughput_64_bytes (KBytes/s)
des3_throughput_8192_bytes (KBytes/s)
des3_user_time (s)
md5_cpu_util (%)
md5_system_time (s)
md5_throughput_1024_bytes (KBytes/s)
md5_throughput_16_bytes (KBytes/s)
md5_throughput_256_bytes (KBytes/s)
md5_throughput_64_bytes (KBytes/s)
md5_throughput_8192_bytes (KBytes/s)
md5_user_time (s)
sha1_cpu_util (%)
sha1_system_time (s)
sha1_throughput_1024_bytes (KBytes/s)
sha1_throughput_16_bytes (KBytes/s)
sha1_throughput_256_bytes (KBytes/s)
sha1_throughput_64_bytes (KBytes/s)
sha1_throughput_8192_bytes (KBytes/s)
sha1_user_time (s)


Listed for each algorithm are the code snippets used to run each benchmark test.


time -v openssl speed -elapsed -evp aes-128-cbc

IPSec Performance

'
Hardware Crypto-based IPSec Throughput 2017.03
am572x-idk
udp_aes128_sha1 (Mbps)
udp_aes192_sha1 (Mbps)
udp_aes256_sha1 (Mbps)



NAND Driver

Please refer MTD Test Setup before proceeding.

K2HK-EVM

'
Buffer size (bytes) 2017.00
k2hk-evm
Write UBIFS Throughput (Mbytes/sec) Write UBIFS CPU Load (%) Read UBIFS Throughput (Mbytes/sec) Read UBIFS CPU Load (%)
102400 4.78 25.7 6.62 25.0
262144 4.67 25.64 6.61 25.02
524288 4.69 25.71 6.62 25.03
1048576 4.8 25.7 6.62 25.01
5242880 4.79 25.61 6.61 25.01

QSPI Flash Driver

Test setup is available here.

AM572x-IDK

'
Buffer size (bytes) 2017.03
am572x-idk
Write UBIFS Throughput (Mbytes/sec) Write UBIFS CPU Load (%) Read UBIFS Throughput (Mbytes/sec) Read UBIFS CPU Load (%)
102400 0.57 70.42 15.85 23.08
262144 0.57 75.32 15.71 22.22
524288 0.56 72.96 15.64 9.09
1048576 0.57 71.32 15.48 20.0

SPI Flash Driver

K2HK-EVM

EMMC Driver

IMPORTANT
The performance numbers can be severely affected if the media is mounted in sync mode. Hot plug scripts in the filesystem mount removable media in sync mode to ensure data integrity. For performance sensitive applications, umount the auto-mounted filesystem and re-mount in async mode.

Please refer MMC/SD Test Setup before proceeding.

AM572X-IDK

SATA Driver

MMC/SD Driver

IMPORTANT
The performance numbers can be severely affected if the media is mounted in sync mode. Hot plug scripts in the filesystem mount removable media in sync mode to ensure data integrity. For performance sensitive applications, umount the auto-mounted filesystem and re-mount in async mode.

Please refer MMC/SD Test Setup before proceeding.

AM572X-IDK

'
Buffer size (bytes) 2017.03
am572x-idk
Write VFAT Throughput (Mbytes/sec) Write VFAT CPU Load (%) Read VFAT Throughput (Mbytes/sec) Read VFAT CPU Load (%)
102400 10.79 6.35 39.07 6.6
262144 10.13 6.02 38.26 8.6
524288 10.17 6.84 38.59 7.63
1048576 10.12 7.46 39.11 10.32
5242880 10.46 7.39 39.2 9.87


'
Buffer size (bytes) 2017.03
am572x-idk
Write EXT2 Throughput (Mbytes/sec) Write EXT2 CPU Load (%) Read EXT2 Throughput (Mbytes/sec) Read EXT2 CPU Load (%)
102400 4.5 2.92 40.52 6.32
262144 10.51 6.07 40.52 7.07
524288 10.51 7.21 40.49 7.66
1048576 10.5 6.84 40.39 7.62
5242880 8.18 5.26 40.49 8.54


'
Buffer size (bytes) 2017.03
am572x-idk
Write EXT4 Throughput (Mbytes/sec) Write EXT4 CPU Load (%) Read EXT4 Throughput (Mbytes/sec) Read EXT4 CPU Load (%)
102400 12.82 6.46 40.59 9.77
262144 12.58 6.74 40.65 12.89
524288 12.85 5.69 40.66 7.68
1048576 12.88 6.28 40.54 7.51
5242880 12.11 5.84 40.58 8.28




The performance numbers were captured using the following:

  • Sandisk Ultra 8GB Micro SDHC Card Class10
  • Partition was mounted with async option

UART Driver

Performance and Benchmarks not available in this release.


I2C Driver

Performance and Benchmarks not available in this release.


EDMA Driver

Performance and Benchmarks not available in this release.


Touchscreen Driver

Performance and Benchmarks not available in this release.



Power Management

Power Measurements

N/A


Archived

Processor SDK Linux RT 04.00.00.04 Kernel Performance Guide
Processor SDK Linux RT 03.03.00.04 Kernel Performance Guide
Processor SDK Linux RT 03.02.00.05 Kernel Performance Guide
Processor SDK Linux RT 03.01.00.06 Kernel Performance Guide
Processor SDK Linux RT 03.00.00.04 Kernel Performance Guide
Processor SDK Linux RT 02.00.02.11 Kernel Performance Guide