diff --git a/source/devices/AM335X/linux/Release_Specific_Performance_Guide.rst b/source/devices/AM335X/linux/Release_Specific_Performance_Guide.rst index a42a71ee8..283afe0d6 100644 --- a/source/devices/AM335X/linux/Release_Specific_Performance_Guide.rst +++ b/source/devices/AM335X/linux/Release_Specific_Performance_Guide.rst @@ -1,5 +1,5 @@ ====================================== - Linux 09.01.00 Performance Guide + Linux 09.03 Performance Guide ====================================== .. rubric:: **Read This First** @@ -16,8 +16,6 @@ following Evaluation Modules unless otherwise specified.** Table: Evaluation Modules -| - .. rubric:: About This Manual :name: about-this-manual-kernel-perf-guide @@ -31,22 +29,19 @@ with drivers included in a particular release. :name: if-you-need-assistance-kernel-perf-guide For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ - +https://e2e.ti.com/ or https://support.ti.com/ System Benchmarks ------------------- - LMBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ LMBench is a collection of microbenchmarks of which the memory bandwidth and latency related ones are typically used to estimate processor memory system performance. More information about lmbench at -http://lmbench.sourceforge.net/whatis_lmbench.html and -http://lmbench.sourceforge.net/man/lmbench.8.html +https://lmbench.sourceforge.net/whatis_lmbench.html and +https://lmbench.sourceforge.net/man/lmbench.8.html - **Latency**: lat_mem_rd-stride128-szN, where N is equal to or smaller than the cache size at given level measures the cache miss penalty. N that is at least double the size of last level cache is the latency to external memory. @@ -64,135 +59,133 @@ Execute the LMBench with the following: cd /opt/ltp ./runltp -P j721e-idk-gw -f ddt/lmbench -s LMBENCH_L_PERF_0001 -.. csv-table:: +.. csv-table:: LMBench Benchmarks :header: "Benchmarks","am335x-evm: perf" - "af_unix_sock_stream_latency (microsec)","40.96" - "af_unix_socket_stream_bandwidth (MBs)","186.32" - "bw_file_rd-io-1mb (MB/s)","157.62" - "bw_file_rd-o2c-1mb (MB/s)","147.34" - "bw_mem-bcopy-16mb (MB/s)","203.35" - "bw_mem-bcopy-1mb (MB/s)","205.80" - "bw_mem-bcopy-2mb (MB/s)","206.70" - "bw_mem-bcopy-4mb (MB/s)","200.71" - "bw_mem-bcopy-8mb (MB/s)","193.36" - "bw_mem-bzero-16mb (MB/s)","996.33" - "bw_mem-bzero-1mb (MB/s)","595.43 (min 205.80, max 985.06)" - "bw_mem-bzero-2mb (MB/s)","595.40 (min 206.70, max 984.09)" - "bw_mem-bzero-4mb (MB/s)","592.30 (min 200.71, max 983.89)" - "bw_mem-bzero-8mb (MB/s)","588.81 (min 193.36, max 984.25)" - "bw_mem-cp-16mb (MB/s)","193.71" - "bw_mem-cp-1mb (MB/s)","582.73 (min 182.98, max 982.48)" - "bw_mem-cp-2mb (MB/s)","589.61 (min 195.12, max 984.09)" - "bw_mem-cp-4mb (MB/s)","598.18 (min 192.08, max 1004.27)" - "bw_mem-cp-8mb (MB/s)","587.30 (min 185.47, max 989.12)" - "bw_mem-fcp-16mb (MB/s)","184.96" - "bw_mem-fcp-1mb (MB/s)","588.96 (min 192.86, max 985.06)" - "bw_mem-fcp-2mb (MB/s)","586.05 (min 188.01, max 984.09)" - "bw_mem-fcp-4mb (MB/s)","584.21 (min 184.53, max 983.89)" - "bw_mem-fcp-8mb (MB/s)","581.35 (min 178.44, max 984.25)" - "bw_mem-frd-16mb (MB/s)","250.22" - "bw_mem-frd-1mb (MB/s)","230.66 (min 192.86, max 268.46)" - "bw_mem-frd-2mb (MB/s)","219.60 (min 188.01, max 251.19)" - "bw_mem-frd-4mb (MB/s)","217.29 (min 184.53, max 250.05)" - "bw_mem-frd-8mb (MB/s)","214.27 (min 178.44, max 250.09)" - "bw_mem-fwr-16mb (MB/s)","996.02" - "bw_mem-fwr-1mb (MB/s)","625.47 (min 268.46, max 982.48)" - "bw_mem-fwr-2mb (MB/s)","617.64 (min 251.19, max 984.09)" - "bw_mem-fwr-4mb (MB/s)","627.16 (min 250.05, max 1004.27)" - "bw_mem-fwr-8mb (MB/s)","619.61 (min 250.09, max 989.12)" - "bw_mem-rd-16mb (MB/s)","252.78" - "bw_mem-rd-1mb (MB/s)","627.70 (min 270.82, max 984.57)" - "bw_mem-rd-2mb (MB/s)","620.30 (min 255.04, max 985.55)" - "bw_mem-rd-4mb (MB/s)","628.24 (min 252.84, max 1003.64)" - "bw_mem-rd-8mb (MB/s)","628.84 (min 252.53, max 1005.15)" - "bw_mem-rdwr-16mb (MB/s)","204.39" - "bw_mem-rdwr-1mb (MB/s)","195.46 (min 182.98, max 207.94)" - "bw_mem-rdwr-2mb (MB/s)","199.62 (min 195.12, max 204.12)" - "bw_mem-rdwr-4mb (MB/s)","198.43 (min 192.08, max 204.77)" - "bw_mem-rdwr-8mb (MB/s)","194.90 (min 185.47, max 204.32)" - "bw_mem-wr-16mb (MB/s)","996.02" - "bw_mem-wr-1mb (MB/s)","596.26 (min 207.94, max 984.57)" - "bw_mem-wr-2mb (MB/s)","594.84 (min 204.12, max 985.55)" - "bw_mem-wr-4mb (MB/s)","604.21 (min 204.77, max 1003.64)" - "bw_mem-wr-8mb (MB/s)","604.74 (min 204.32, max 1005.15)" - "bw_mmap_rd-mo-1mb (MB/s)","253.55" - "bw_mmap_rd-o2c-1mb (MB/s)","167.36" - "bw_pipe (MB/s)","322.54" - "bw_unix (MB/s)","186.32" - "lat_connect (us)","85.15" - "lat_ctx-2-128k (us)","28.67" - "lat_ctx-2-256k (us)","5.36" - "lat_ctx-4-128k (us)","34.51" + "af_unix_sock_stream_latency (microsec)","48.86" + "af_unix_socket_stream_bandwidth (MBs)","136.57" + "bw_file_rd-io-1mb (MB/s)","143.97" + "bw_file_rd-o2c-1mb (MB/s)","124.29" + "bw_mem-bcopy-16mb (MB/s)","180.87" + "bw_mem-bcopy-1mb (MB/s)","177.24" + "bw_mem-bcopy-2mb (MB/s)","172.79" + "bw_mem-bcopy-4mb (MB/s)","171.25" + "bw_mem-bcopy-8mb (MB/s)","174.71" + "bw_mem-bzero-16mb (MB/s)","954.08" + "bw_mem-bzero-1mb (MB/s)","567.78 (min 177.24, max 958.31)" + "bw_mem-bzero-2mb (MB/s)","556.40 (min 172.79, max 940.00)" + "bw_mem-bzero-4mb (MB/s)","561.36 (min 171.25, max 951.47)" + "bw_mem-bzero-8mb (MB/s)","565.17 (min 174.71, max 955.62)" + "bw_mem-cp-16mb (MB/s)","152.29" + "bw_mem-cp-1mb (MB/s)","560.05 (min 165.02, max 955.08)" + "bw_mem-cp-2mb (MB/s)","555.49 (min 164.76, max 946.22)" + "bw_mem-cp-4mb (MB/s)","559.37 (min 164.91, max 953.82)" + "bw_mem-cp-8mb (MB/s)","559.03 (min 165.68, max 952.38)" + "bw_mem-fcp-16mb (MB/s)","157.10" + "bw_mem-fcp-1mb (MB/s)","558.42 (min 158.53, max 958.31)" + "bw_mem-fcp-2mb (MB/s)","548.77 (min 157.54, max 940.00)" + "bw_mem-fcp-4mb (MB/s)","554.42 (min 157.36, max 951.47)" + "bw_mem-fcp-8mb (MB/s)","557.35 (min 159.07, max 955.62)" + "bw_mem-frd-16mb (MB/s)","212.62" + "bw_mem-frd-1mb (MB/s)","187.03 (min 158.53, max 215.53)" + "bw_mem-frd-2mb (MB/s)","185.05 (min 157.54, max 212.56)" + "bw_mem-frd-4mb (MB/s)","185.08 (min 157.36, max 212.79)" + "bw_mem-frd-8mb (MB/s)","185.95 (min 159.07, max 212.82)" + "bw_mem-fwr-16mb (MB/s)","955.05" + "bw_mem-fwr-1mb (MB/s)","585.31 (min 215.53, max 955.08)" + "bw_mem-fwr-2mb (MB/s)","579.39 (min 212.56, max 946.22)" + "bw_mem-fwr-4mb (MB/s)","583.31 (min 212.79, max 953.82)" + "bw_mem-fwr-8mb (MB/s)","582.60 (min 212.82, max 952.38)" + "bw_mem-rd-16mb (MB/s)","215.04" + "bw_mem-rd-1mb (MB/s)","572.26 (min 188.61, max 955.90)" + "bw_mem-rd-2mb (MB/s)","580.57 (min 215.22, max 945.92)" + "bw_mem-rd-4mb (MB/s)","582.82 (min 215.30, max 950.34)" + "bw_mem-rd-8mb (MB/s)","583.81 (min 214.01, max 953.60)" + "bw_mem-rdwr-16mb (MB/s)","174.42" + "bw_mem-rdwr-1mb (MB/s)","171.39 (min 165.02, max 177.75)" + "bw_mem-rdwr-2mb (MB/s)","169.90 (min 164.76, max 175.04)" + "bw_mem-rdwr-4mb (MB/s)","170.72 (min 164.91, max 176.53)" + "bw_mem-rdwr-8mb (MB/s)","171.19 (min 165.68, max 176.69)" + "bw_mem-wr-16mb (MB/s)","955.87" + "bw_mem-wr-1mb (MB/s)","566.83 (min 177.75, max 955.90)" + "bw_mem-wr-2mb (MB/s)","560.48 (min 175.04, max 945.92)" + "bw_mem-wr-4mb (MB/s)","563.44 (min 176.53, max 950.34)" + "bw_mem-wr-8mb (MB/s)","565.15 (min 176.69, max 953.60)" + "bw_mmap_rd-mo-1mb (MB/s)","202.63" + "bw_mmap_rd-o2c-1mb (MB/s)","144.38" + "bw_pipe (MB/s)","236.43" + "bw_unix (MB/s)","136.57" + "lat_connect (us)","100.67" + "lat_ctx-2-128k (us)","37.49" + "lat_ctx-2-256k (us)","4.00" + "lat_ctx-4-128k (us)","47.27" "lat_ctx-4-256k (us)","0.00" - "lat_fs-0k (num_files)","198.00" - "lat_fs-10k (num_files)","74.00" - "lat_fs-1k (num_files)","111.00" - "lat_fs-4k (num_files)","101.00" - "lat_mem_rd-stride128-sz1000k (ns)","220.85" - "lat_mem_rd-stride128-sz125k (ns)","11.74" - "lat_mem_rd-stride128-sz250k (ns)","62.97" - "lat_mem_rd-stride128-sz31k (ns)","3.03" - "lat_mem_rd-stride128-sz50 (ns)","3.00" - "lat_mem_rd-stride128-sz500k (ns)","183.34" - "lat_mem_rd-stride128-sz62k (ns)","8.87" - "lat_mmap-1m (us)","117.00" - "lat_ops-double-add (ns)","8.97" - "lat_ops-double-div (ns)","57.32" - "lat_ops-double-mul (ns)","11.08" - "lat_ops-float-add (ns)","8.97" - "lat_ops-float-div (ns)","33.20" - "lat_ops-float-mul (ns)","10.06" - "lat_ops-int-add (ns)","1.01" - "lat_ops-int-bit (ns)","0.67" - "lat_ops-int-div (ns)","72.83" - "lat_ops-int-mod (ns)","25.49" - "lat_ops-int-mul (ns)","6.64" - "lat_ops-int64-add (ns)","1.06" - "lat_ops-int64-bit (ns)","0.68" - "lat_ops-int64-div (ns)","188.60" - "lat_ops-int64-mod (ns)","52.12" - "lat_ops-int64-mul (ns)","6.07" - "lat_pagefault (us)","1.62" - "lat_pipe (us)","41.00" - "lat_proc-exec (us)","1521.00" - "lat_proc-fork (us)","1191.40" + "lat_fs-0k (num_files)","168.00" + "lat_fs-10k (num_files)","73.00" + "lat_fs-1k (num_files)","107.00" + "lat_fs-4k (num_files)","108.00" + "lat_mem_rd-stride128-sz1000k (ns)","270.29" + "lat_mem_rd-stride128-sz125k (ns)","14.61" + "lat_mem_rd-stride128-sz250k (ns)","85.30" + "lat_mem_rd-stride128-sz31k (ns)","3.19" + "lat_mem_rd-stride128-sz50 (ns)","3.12" + "lat_mem_rd-stride128-sz500k (ns)","222.51" + "lat_mem_rd-stride128-sz62k (ns)","9.35" + "lat_mmap-1m (us)","85.00" + "lat_ops-double-add (ns)","9.32" + "lat_ops-double-div (ns)","59.74" + "lat_ops-double-mul (ns)","11.58" + "lat_ops-float-add (ns)","9.32" + "lat_ops-float-div (ns)","34.46" + "lat_ops-float-mul (ns)","10.49" + "lat_ops-int-add (ns)","1.05" + "lat_ops-int-bit (ns)","0.70" + "lat_ops-int-div (ns)","76.00" + "lat_ops-int-mod (ns)","26.58" + "lat_ops-int-mul (ns)","6.84" + "lat_ops-int64-add (ns)","1.11" + "lat_ops-int64-bit (ns)","0.70" + "lat_ops-int64-div (ns)","198.23" + "lat_ops-int64-mod (ns)","54.52" + "lat_ops-int64-mul (ns)","6.34" + "lat_pagefault (us)","1.82" + "lat_pipe (us)","38.21" + "lat_proc-exec (us)","1685.43" + "lat_proc-fork (us)","1247.67" "lat_proc-proccall (us)","0.02" - "lat_select (us)","41.44" - "lat_sem (us)","6.11" - "lat_sig-catch (us)","8.24" + "lat_select (us)","42.91" + "lat_sem (us)","5.47" + "lat_sig-catch (us)","8.19" "lat_sig-install (us)","1.33" - "lat_sig-prot (us)","0.74" - "lat_syscall-fstat (us)","4.55" - "lat_syscall-null (us)","0.49" - "lat_syscall-open (us)","316.11" - "lat_syscall-read (us)","0.86" - "lat_syscall-stat (us)","6.38" - "lat_syscall-write (us)","0.67" - "lat_tcp (us)","1.05" - "lat_unix (us)","40.96" - "latency_for_0.50_mb_block_size (nanosec)","183.34" - "latency_for_1.00_mb_block_size (nanosec)","110.42 (min 0.00, max 220.85)" - "pipe_bandwidth (MBs)","322.54" - "pipe_latency (microsec)","41.00" + "lat_sig-prot (us)","0.76" + "lat_syscall-fstat (us)","4.37" + "lat_syscall-null (us)","0.51" + "lat_syscall-open (us)","324.53" + "lat_syscall-read (us)","0.90" + "lat_syscall-stat (us)","6.26" + "lat_syscall-write (us)","0.69" + "lat_tcp (us)","1.10" + "lat_unix (us)","48.86" + "latency_for_0.50_mb_block_size (nanosec)","222.51" + "latency_for_1.00_mb_block_size (nanosec)","135.15 (min 0.00, max 270.29)" + "pipe_bandwidth (MBs)","236.43" + "pipe_latency (microsec)","38.21" "procedure_call (microsec)","0.02" - "select_on_200_tcp_fds (microsec)","41.44" - "semaphore_latency (microsec)","6.11" + "select_on_200_tcp_fds (microsec)","42.91" + "semaphore_latency (microsec)","5.47" "signal_handler_latency (microsec)","1.33" - "signal_handler_overhead (microsec)","8.24" - "tcp_ip_connection_cost_to_localhost (microsec)","85.15" - "tcp_latency_using_localhost (microsec)","1.05" - - -Table: **LM Bench Metrics** - - + "signal_handler_overhead (microsec)","8.19" + "tcp_ip_connection_cost_to_localhost (microsec)","100.67" + "tcp_latency_using_localhost (microsec)","1.10" Dhrystone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dhrystone is a core only benchmark that runs from warm L1 caches in all -modern processors. It scales linearly with clock speed. For standard ARM -cores the DMIPS/MHz score will be identical with the same compiler and flags. +modern processors. It scales linearly with clock speed. + +Please take note, different run may produce different slightly results. +This is advised to run this test multiple times in order to get maximum +performance numbers. Execute the benchmark with the following: @@ -200,17 +193,12 @@ Execute the benchmark with the following: runDhrystone -.. csv-table:: +.. csv-table:: Dhrystone Benchmarks :header: "Benchmarks","am335x-evm: perf" "cpu_clock (MHz)","1000.00" - "dhrystone_per_mhz (DMIPS/MHz)","2.10" - "dhrystone_per_second (DhrystoneP)","3773585.00" - - -Table: **Dhrystone Benchmark** - - + "dhrystone_per_mhz (DMIPS/MHz)","2.00" + "dhrystone_per_second (DhrystoneP)","3571428.50" Whetstone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -222,30 +210,20 @@ Execute the benchmark with the following: runWhetstone -.. csv-table:: +.. csv-table:: Whetstone Benchmarks :header: "Benchmarks","am335x-evm: perf" "whetstone (MIPS)","833.30" - -Table: **Whetstone Benchmark** - - - Linpack ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Linpack measures peak double precision (64 bit) floating point performance in solving a dense linear system. -.. csv-table:: +.. csv-table:: Linpack Benchmarks :header: "Benchmarks","am335x-evm: perf" - "linpack (Kflops)","50419.00" - - -Table: **Linpack Benchmark** - - + "linpack (Kflops)","48400.00" NBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -255,24 +233,18 @@ More information about NBench at https://en.wikipedia.org/wiki/NBench and https://nbench.io/articles/index.html - -.. csv-table:: +.. csv-table:: NBench Benchmarks :header: "Benchmarks","am335x-evm: perf" - "assignment (Iterations)","7.77" - "fourier (Iterations)","2891.70" - "fp_emulation (Iterations)","70.38" - "huffman (Iterations)","727.35" - "idea (Iterations)","1706.30" - "lu_decomposition (Iterations)","76.53" - "neural_net (Iterations)","2.21" - "numeric_sort (Iterations)","418.37" - "string_sort (Iterations)","67.17" - - -Table: **NBench Benchmarks** - - + "assignment (Iterations)","7.58" + "fourier (Iterations)","2842.00" + "fp_emulation (Iterations)","68.81" + "huffman (Iterations)","713.20" + "idea (Iterations)","1678.40" + "lu_decomposition (Iterations)","74.06" + "neural_net (Iterations)","2.17" + "numeric_sort (Iterations)","409.38" + "string_sort (Iterations)","65.96" Stream ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -292,18 +264,26 @@ Execute the benchmark with the following: stream_c -.. csv-table:: +.. csv-table:: Stream Benchmarks :header: "Benchmarks","am335x-evm: perf" - "add (MB/s)","528.70" - "copy (MB/s)","486.60" - "scale (MB/s)","614.30" - "triad (MB/s)","445.60" + "add (MB/s)","438.80" + "copy (MB/s)","414.00" + "scale (MB/s)","525.70" + "triad (MB/s)","395.20" + +Boot-time Measurement +--------------------- +Boot media: MMCSD +^^^^^^^^^^^^^^^^^ -Table: **Stream** +.. csv-table:: Linux boot time MMCSD + :header: "Boot Configuration","am335x-evm: Boot time in seconds: avg(min,max)" + "Linux boot time from SD with default rootfs (20 boot cycles)","65.09 (min 44.03, max 107.79)" +Boot time numbers [avg, min, max] are measured from "Starting kernel" to Linux prompt across 20 boot cycles. ALSA SoC Audio Driver ------------------------- @@ -313,98 +293,296 @@ ALSA SoC Audio Driver #. Format - S16\_LE #. Period size - 64 +.. csv-table:: Audio Capture + :header: "Sampling Rate (Hz)","am335x-evm: Throughput (bits/sec)","am335x-evm: CPU Load (%)" -.. csv-table:: + "8000","255998.00","2.77" + "11025","352796.00","3.01" + "16000","511995.00","3.65" + "22050","705593.00","3.86" + "24000","705590.00","3.62" + "32000","1023986.00","6.27" + "44100","1411181.00","4.64" + "48000","1535980.00","5.61" + "88200","2822360.00","7.95" + "96000","3071956.00","14.36" + +.. csv-table:: Audio Playback :header: "Sampling Rate (Hz)","am335x-evm: Throughput (bits/sec)","am335x-evm: CPU Load (%)" - "8000","255998.00","2.27" - "11025","352796.00","2.61" - "16000","511995.00","3.75" - "22050","705594.00","4.14" - "24000","705592.00","3.44" - "32000","1023988.00","7.47" - "44100","1411183.00","5.03" - "48000","1535983.00","2.48" - "88200","2822364.00","7.95" - "96000","3071961.00","12.37" + "8000","256101.00","13.75" + "11025","352938.00","14.48" + "16000","512201.00","20.07" + "22050","705877.00","19.73" + "24000","705874.00","19.20" + "32000","1024395.00","16.14" + "44100","1411748.00","24.15" + "48000","1536596.00","26.89" + "88200","2823477.00","33.59" + "96000","3073162.00","44.89" -Table: **Audio Capture** +| +Graphics SGX/RGX Driver +------------------------- -| +GLBenchmark +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Run GLBenchmark and capture performance reported Display rate (Fps), +Fill rate, Vertex Throughput, etc. All display outputs (HDMI, Displayport and/or LCD) +are connected when running these tests -.. csv-table:: - :header: "Sampling Rate (Hz)","am335x-evm: Throughput (bits/sec)","am335x-evm: CPU Load (%)" +Performance (Fps) +""""""""""""""""""""""""""" - "8000","256101.00","0.85" - "11025","352940.00","0.78" - "16000","512203.00","0.17" - "22050","705880.00","1.55" - "24000","705878.00","1.29" - "32000","1024404.00","0.29" - "44100","1411756.00","2.13" - "48000","1536606.00","4.54" - "88200","2823510.00","4.36" - "96000","3073208.00","0.77" +.. csv-table:: GLBenchmark 25 Performance + :header: "Benchmark","am335x-evm: Test Number","am335x-evm: Fps" -Table: **Audio Playback** - + "GLB25_EgyptTestC24Z16FixedTime test","2500005.00","4.24 (min 2.11, max 10.32)" + "GLB25_EgyptTestC24Z16_ETC1 test","2501001.00","4.92 (min 2.13, max 10.32)" + "GLB25_EgyptTestC24Z16_ETC1to565 test","2501401.00","4.90 (min 2.13, max 10.32)" + "GLB25_EgyptTestC24Z16_PVRTC4 test","2501101.00","4.77 (min 2.06, max 10.31)" + "GLB25_EgyptTestC24Z24MS4 test","2500003.00","3.97 (min 1.26, max 8.84)" + "GLB25_EgyptTestStandard_inherited test","2000000.00","13.39 (min 9.52, max 19.05)" -| +.. csv-table:: GLBenchmark 25 Offscreen Performance + :header: "Benchmark","am335x-evm: Test Number","am335x-evm: Fps" - + "GLB25_EgyptTestC24Z16_ETC1_Offscreen test","2501011.00","2.00" + "GLB25_EgyptTestStandardOffscreen_inherited test","2000010.00","6.00" -NAND Driver -------------------------- +Vertex Throughput +""""""""""""""""""""""""""" + +.. csv-table:: GLBenchmark 25 Vertex Throughput + :header: "Benchmark","am335x-evm: Test Number","am335x-evm: Rate (triangles/sec)" + + "GLB25_TriangleTexFragmentLitTestC24Z16 test","2500511.00","2233982.25" + "GLB25_TriangleTexTestC24Z16 test","2500301.00","10659006.00" + "GLB25_TriangleTexVertexLitTestC24Z16 test","2500411.00","3086775.25" +Pixel Throughput +""""""""""""""""""""""""""" +.. csv-table:: GLBenchmark 25 Pixel Throughput + :header: "Benchmark","am335x-evm: Test Number","am335x-evm: Rate (texel/sec)","am335x-evm: Fps" + "GLB25_FillTestC24Z16 test","2500101.00","96879864.00","3.95 (min 3.87, max 4.13)" + +Glmark2 +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Run Glmark2 and capture performance reported (Score). All display outputs (HDMI, Displayport and/or LCD) are connected when running these tests + +.. csv-table:: Glmark2 Performance + :header: "Benchmark","am335x-evm: Score" + + "Glmark2-DRM","40.00" + "Glmark2-Wayland","54.00" + +| + +NAND Driver +------------------------- AM335X-EVM ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. csv-table:: +.. csv-table:: NAND Performance :header: "Buffer size (bytes)","am335x-evm: Write UBIFS Throughput (Mbytes/sec)","am335x-evm: Write UBIFS CPU Load (%)","am335x-evm: Read UBIFS Throughput (Mbytes/sec)","am335x-evm: Read UBIFS CPU Load (%)" - "102400","3.45 (min 3.41, max 3.56)","68.18 (min 67.31, max 68.65)","6.32","32.26" - "262144","3.51 (min 3.47, max 3.58)","65.30 (min 64.51, max 65.89)","6.30","29.16" - "524288","3.42 (min 3.39, max 3.44)","68.32 (min 67.94, max 69.29)","6.33","29.78" - "1048576","3.41 (min 3.38, max 3.42)","68.15 (min 67.20, max 68.90)","6.34","29.78" - "5242880","3.42 (min 3.39, max 3.44)","68.06 (min 66.88, max 69.18)","6.34","28.61" + "102400","3.36 (min 3.30, max 3.49)","67.31 (min 66.82, max 68.01)","5.43","31.56" + "262144","3.19 (min 3.16, max 3.27)","66.55 (min 65.25, max 67.14)","5.40","31.75" + "524288","3.31 (min 3.29, max 3.32)","67.98 (min 67.62, max 68.60)","5.39","34.52" + "1048576","3.31 (min 3.29, max 3.32)","67.85 (min 67.11, max 68.65)","5.44","32.43" + "5242880","3.29 (min 3.27, max 3.31)","68.06 (min 67.61, max 68.67)","5.40","32.10" +MMCSD +----- +.. 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. +MMC EXT4 FIO 1G +^^^^^^^^^^^^^^^ + +.. csv-table:: MMC EXT4 FIO 1G + :header: "Buffer size (bytes)","am335x-evm: Write EXT4 Throughput (Mbytes/sec)","am335x-evm: Write EXT4 CPU Load (%)","am335x-evm: Read EXT4 Throughput (Mbytes/sec)","am335x-evm: Read EXT4 CPU Load (%)" + + "1m","19.80","7.75","21.30","9.50" + "4m","19.90","5.77","21.50","9.14" + "4k","2.97","32.43","8.71","68.07" + "256k","19.10","11.43","20.90","12.32" + +MMC EXT4 +^^^^^^^^ + +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am335x-evm: Write Raw Throughput (Mbytes/sec)","am335x-evm: Write Raw CPU Load (%)","am335x-evm: Read Raw Throughput (Mbytes/sec)","am335x-evm: Read Raw CPU Load (%)" + + "102400","19.28 (min 18.32, max 19.64)","14.66 (min 12.55, max 20.18)","19.60","19.65" + "262144","18.22 (min 17.94, max 18.39)","15.74 (min 13.37, max 23.63)","19.90","18.91" + "524288","18.61 (min 18.17, max 18.76)","15.04 (min 13.16, max 21.24)","21.35","17.19" + "1048576","18.18 (min 17.70, max 18.39)","15.87 (min 12.71, max 21.82)","20.65","15.01" + "5242880","18.79 (min 18.49, max 18.93)","14.95 (min 12.68, max 21.96)","22.58","16.96" + +The performance numbers were captured using the following: + +- SanDisk 8GB MicroSDHC Class 10 Memory Card +- Partition was mounted with async option + +| USB Driver ------------------------- - - USB Device Controller ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. csv-table:: +.. csv-table:: USBDEVICE HIGHSPEED SLAVE_READ_THROUGHPUT :header: "Number of Blocks","am335x-evm: Throughput (MB/sec)" - "150","18.00" + "150","18.70" -Table: **USBDEVICE HIGHSPEED SLAVE READ THROUGHPUT** +.. csv-table:: USBDEVICE HIGHSPEED SLAVE_WRITE_THROUGHPUT + :header: "Number of Blocks","am335x-evm: Throughput (MB/sec)" + + "150","7.90" -| | +CRYPTO Driver +------------------------- + +OpenSSL Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. csv-table:: OpenSSL Performance + :header: "Algorithm","Buffer Size (in bytes)","am335x-evm: throughput (KBytes/Sec)" + + "aes-128-cbc","1024","45160.45" + "aes-128-cbc","16","29444.57" + "aes-128-cbc","16384","45498.37" + "aes-128-cbc","256","43996.25" + "aes-128-cbc","64","39726.91" + "aes-128-cbc","8192","45304.49" + "aes-128-ecb","1024","46018.56" + "aes-128-ecb","16","33617.70" + "aes-128-ecb","16384","44176.73" + "aes-128-ecb","256","45172.91" + "aes-128-ecb","64","42119.19" + "aes-128-ecb","8192","46454.10" + "aes-192-cbc","1024","37128.19" + "aes-192-cbc","16","25825.44" + "aes-192-cbc","16384","37475.67" + "aes-192-cbc","256","36298.07" + "aes-192-cbc","64","33364.46" + "aes-192-cbc","8192","37218.99" + "aes-192-ecb","1024","39738.71" + "aes-192-ecb","16","30087.25" + "aes-192-ecb","16384","39955.11" + "aes-192-ecb","256","39108.78" + "aes-192-ecb","64","36687.68" + "aes-192-ecb","8192","39903.23" + "aes-256-cbc","1024","33224.02" + "aes-256-cbc","16","23909.91" + "aes-256-cbc","16384","33390.59" + "aes-256-cbc","256","32509.70" + "aes-256-cbc","64","30216.81" + "aes-256-cbc","8192","33412.44" + "aes-256-ecb","1024","34884.27" + "aes-256-ecb","16","27224.88" + "aes-256-ecb","16384","35045.38" + "aes-256-ecb","256","34382.85" + "aes-256-ecb","64","32453.78" + "aes-256-ecb","8192","34941.61" + "des3","1024","4116.82" + "des3","16","3899.69" + "des3","16384","4106.92" + "des3","256","4101.55" + "des3","64","4063.23" + "des3","8192","4104.19" + "md5","1024","124733.78" + "md5","16","7509.55" + "md5","16384","165494.78" + "md5","256","69602.05" + "md5","64","25231.81" + "md5","8192","161778.35" + "sha1","1024","103653.03" + "sha1","16","7100.50" + "sha1","16384","132027.73" + "sha1","256","61524.74" + "sha1","64","23449.05" + "sha1","8192","129687.55" + "sha224","1024","60944.04" + "sha224","16","6003.48" + "sha224","16384","71892.99" + "sha224","256","40934.49" + "sha224","64","17822.29" + "sha224","8192","71087.45" + "sha256","1024","60806.14" + "sha256","16","5863.40" + "sha256","16384","71876.61" + "sha256","256","40605.35" + "sha256","64","17548.67" + "sha256","8192","70926.34" + "sha512","1024","34268.16" + "sha512","16","3219.22" + "sha512","16384","43499.52" + "sha512","256","23722.07" + "sha512","64","12888.55" + "sha512","8192","42816.85" + +.. csv-table:: OpenSSL CPU Load + :header: "Algorithm","am335x-evm: CPU Load" + + "aes-128-cbc","99.00" + "aes-128-ecb","98.00" + "aes-192-cbc","99.00" + "aes-192-ecb","99.00" + "aes-256-cbc","99.00" + "aes-256-ecb","99.00" + "des3","99.00" + "md5","99.00" + "sha1","99.00" + "sha224","99.00" + "sha256","99.00" + "sha386","84.00" + "sha512","98.00" + +Listed for each algorithm are the code snippets used to run each benchmark test. -.. csv-table:: - :header: "Number of Blocks","am335x-evm: Throughput (MB/sec)" +:: - "150","7.60" + time -v openssl speed -elapsed -evp aes-128-cbc -Table: **USBDEVICE HIGHSPEED SLAVE WRITE THROUGHPUT** +IPSec Hardware Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -| -| +Note: queue\_len is set to 300 and software fallback threshold set to 9 +to enable software support for optimal performance + +.. csv-table:: IPSec Hardware Performance + :header: "Algorithm","am335x-evm: Throughput (Mbps)","am335x-evm: Packets/Sec","am335x-evm: CPU Load" + + "3des","0.00","0.00","100.73" + "aes128","0.00","0.00","99.63" + "aes192","0.30","0.00","98.67" + "aes256","0.50","0.00","100.18" + +IPSec Software Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. csv-table:: IPSec Software Performance + :header: "Algorithm","am335x-evm: Throughput (Mbps)","am335x-evm: Packets/Sec","am335x-evm: CPU Load" + "3des","36.00","3.00","100.31" + "aes128","82.40","7.00","100.44" + "aes192","64.20","5.00","99.60" + "aes256","68.50","6.00","101.78" diff --git a/source/devices/AM437X/linux/Release_Specific_Performance_Guide.rst b/source/devices/AM437X/linux/Release_Specific_Performance_Guide.rst index dbe3a8eb9..0b30fb2f6 100644 --- a/source/devices/AM437X/linux/Release_Specific_Performance_Guide.rst +++ b/source/devices/AM437X/linux/Release_Specific_Performance_Guide.rst @@ -1,5 +1,6 @@ + ====================================== - Linux 09.01.00 Performance Guide + Linux 09.03 Performance Guide ====================================== .. rubric:: **Read This First** @@ -16,8 +17,6 @@ following Evaluation Modules unless otherwise specified.** Table: Evaluation Modules -| - .. rubric:: About This Manual :name: about-this-manual-kernel-perf-guide @@ -31,22 +30,19 @@ with drivers included in a particular release. :name: if-you-need-assistance-kernel-perf-guide For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ - +https://e2e.ti.com/ or https://support.ti.com/ System Benchmarks ------------------- - LMBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ LMBench is a collection of microbenchmarks of which the memory bandwidth and latency related ones are typically used to estimate processor memory system performance. More information about lmbench at -http://lmbench.sourceforge.net/whatis_lmbench.html and -http://lmbench.sourceforge.net/man/lmbench.8.html +https://lmbench.sourceforge.net/whatis_lmbench.html and +https://lmbench.sourceforge.net/man/lmbench.8.html - **Latency**: lat_mem_rd-stride128-szN, where N is equal to or smaller than the cache size at given level measures the cache miss penalty. N that is at least double the size of last level cache is the latency to external memory. @@ -64,135 +60,133 @@ Execute the LMBench with the following: cd /opt/ltp ./runltp -P j721e-idk-gw -f ddt/lmbench -s LMBENCH_L_PERF_0001 -.. csv-table:: +.. csv-table:: LMBench Benchmarks :header: "Benchmarks","am43xx-gpevm: perf" - "af_unix_sock_stream_latency (microsec)","31.75" - "af_unix_socket_stream_bandwidth (MBs)","196.34" - "bw_file_rd-io-1mb (MB/s)","199.78" - "bw_file_rd-o2c-1mb (MB/s)","164.61" - "bw_mem-bcopy-16mb (MB/s)","193.25" - "bw_mem-bcopy-1mb (MB/s)","198.33" - "bw_mem-bcopy-2mb (MB/s)","198.83" - "bw_mem-bcopy-4mb (MB/s)","197.07" - "bw_mem-bcopy-8mb (MB/s)","198.09" - "bw_mem-bzero-16mb (MB/s)","672.58" - "bw_mem-bzero-1mb (MB/s)","434.40 (min 198.33, max 670.47)" - "bw_mem-bzero-2mb (MB/s)","436.23 (min 198.83, max 673.63)" - "bw_mem-bzero-4mb (MB/s)","433.71 (min 197.07, max 670.35)" - "bw_mem-bzero-8mb (MB/s)","435.78 (min 198.09, max 673.46)" - "bw_mem-cp-16mb (MB/s)","194.28" - "bw_mem-cp-1mb (MB/s)","437.96 (min 201.49, max 674.42)" - "bw_mem-cp-2mb (MB/s)","436.93 (min 200.68, max 673.17)" - "bw_mem-cp-4mb (MB/s)","437.07 (min 200.73, max 673.40)" - "bw_mem-cp-8mb (MB/s)","437.09 (min 201.01, max 673.17)" - "bw_mem-fcp-16mb (MB/s)","243.87" - "bw_mem-fcp-1mb (MB/s)","458.69 (min 246.91, max 670.47)" - "bw_mem-fcp-2mb (MB/s)","457.97 (min 242.31, max 673.63)" - "bw_mem-fcp-4mb (MB/s)","455.64 (min 240.92, max 670.35)" - "bw_mem-fcp-8mb (MB/s)","459.15 (min 244.84, max 673.46)" - "bw_mem-frd-16mb (MB/s)","202.94" - "bw_mem-frd-1mb (MB/s)","227.82 (min 208.72, max 246.91)" - "bw_mem-frd-2mb (MB/s)","224.55 (min 206.78, max 242.31)" - "bw_mem-frd-4mb (MB/s)","220.84 (min 200.75, max 240.92)" - "bw_mem-frd-8mb (MB/s)","223.39 (min 201.93, max 244.84)" - "bw_mem-fwr-16mb (MB/s)","672.13" - "bw_mem-fwr-1mb (MB/s)","441.57 (min 208.72, max 674.42)" - "bw_mem-fwr-2mb (MB/s)","439.98 (min 206.78, max 673.17)" - "bw_mem-fwr-4mb (MB/s)","437.08 (min 200.75, max 673.40)" - "bw_mem-fwr-8mb (MB/s)","437.55 (min 201.93, max 673.17)" - "bw_mem-rd-16mb (MB/s)","314.02" - "bw_mem-rd-1mb (MB/s)","294.78 (min 273.19, max 316.36)" - "bw_mem-rd-2mb (MB/s)","291.84 (min 270.05, max 313.63)" - "bw_mem-rd-4mb (MB/s)","292.39 (min 269.96, max 314.81)" - "bw_mem-rd-8mb (MB/s)","292.56 (min 270.78, max 314.33)" - "bw_mem-rdwr-16mb (MB/s)","245.76" - "bw_mem-rdwr-1mb (MB/s)","225.89 (min 201.49, max 250.28)" - "bw_mem-rdwr-2mb (MB/s)","223.19 (min 200.68, max 245.70)" - "bw_mem-rdwr-4mb (MB/s)","223.16 (min 200.73, max 245.59)" - "bw_mem-rdwr-8mb (MB/s)","223.75 (min 201.01, max 246.48)" - "bw_mem-wr-16mb (MB/s)","270.81" - "bw_mem-wr-1mb (MB/s)","261.74 (min 250.28, max 273.19)" - "bw_mem-wr-2mb (MB/s)","257.88 (min 245.70, max 270.05)" - "bw_mem-wr-4mb (MB/s)","257.78 (min 245.59, max 269.96)" - "bw_mem-wr-8mb (MB/s)","258.63 (min 246.48, max 270.78)" - "bw_mmap_rd-mo-1mb (MB/s)","210.39" - "bw_mmap_rd-o2c-1mb (MB/s)","161.06" - "bw_pipe (MB/s)","391.78" - "bw_unix (MB/s)","196.34" - "lat_connect (us)","76.04" + "af_unix_sock_stream_latency (microsec)","34.17" + "af_unix_socket_stream_bandwidth (MBs)","203.46" + "bw_file_rd-io-1mb (MB/s)","202.92" + "bw_file_rd-o2c-1mb (MB/s)","165.95" + "bw_mem-bcopy-16mb (MB/s)","192.76" + "bw_mem-bcopy-1mb (MB/s)","199.32" + "bw_mem-bcopy-2mb (MB/s)","198.81" + "bw_mem-bcopy-4mb (MB/s)","197.28" + "bw_mem-bcopy-8mb (MB/s)","198.17" + "bw_mem-bzero-16mb (MB/s)","672.41" + "bw_mem-bzero-1mb (MB/s)","437.22 (min 199.32, max 675.11)" + "bw_mem-bzero-2mb (MB/s)","436.45 (min 198.81, max 674.08)" + "bw_mem-bzero-4mb (MB/s)","435.46 (min 197.28, max 673.63)" + "bw_mem-bzero-8mb (MB/s)","435.67 (min 198.17, max 673.17)" + "bw_mem-cp-16mb (MB/s)","195.36" + "bw_mem-cp-1mb (MB/s)","437.54 (min 200.88, max 674.20)" + "bw_mem-cp-2mb (MB/s)","436.92 (min 200.66, max 673.17)" + "bw_mem-cp-4mb (MB/s)","436.83 (min 200.26, max 673.40)" + "bw_mem-cp-8mb (MB/s)","437.68 (min 201.84, max 673.51)" + "bw_mem-fcp-16mb (MB/s)","243.43" + "bw_mem-fcp-1mb (MB/s)","460.82 (min 246.52, max 675.11)" + "bw_mem-fcp-2mb (MB/s)","457.96 (min 241.84, max 674.08)" + "bw_mem-fcp-4mb (MB/s)","455.72 (min 237.80, max 673.63)" + "bw_mem-fcp-8mb (MB/s)","458.49 (min 243.80, max 673.17)" + "bw_mem-frd-16mb (MB/s)","200.49" + "bw_mem-frd-1mb (MB/s)","224.81 (min 203.09, max 246.52)" + "bw_mem-frd-2mb (MB/s)","223.53 (min 205.21, max 241.84)" + "bw_mem-frd-4mb (MB/s)","220.56 (min 203.31, max 237.80)" + "bw_mem-frd-8mb (MB/s)","223.18 (min 202.55, max 243.80)" + "bw_mem-fwr-16mb (MB/s)","673.00" + "bw_mem-fwr-1mb (MB/s)","438.65 (min 203.09, max 674.20)" + "bw_mem-fwr-2mb (MB/s)","439.19 (min 205.21, max 673.17)" + "bw_mem-fwr-4mb (MB/s)","438.36 (min 203.31, max 673.40)" + "bw_mem-fwr-8mb (MB/s)","438.03 (min 202.55, max 673.51)" + "bw_mem-rd-16mb (MB/s)","313.99" + "bw_mem-rd-1mb (MB/s)","294.96 (min 273.00, max 316.91)" + "bw_mem-rd-2mb (MB/s)","291.29 (min 270.42, max 312.16)" + "bw_mem-rd-4mb (MB/s)","292.52 (min 270.76, max 314.27)" + "bw_mem-rd-8mb (MB/s)","292.48 (min 271.07, max 313.89)" + "bw_mem-rdwr-16mb (MB/s)","246.34" + "bw_mem-rdwr-1mb (MB/s)","225.26 (min 200.88, max 249.63)" + "bw_mem-rdwr-2mb (MB/s)","223.38 (min 200.66, max 246.09)" + "bw_mem-rdwr-4mb (MB/s)","223.40 (min 200.26, max 246.53)" + "bw_mem-rdwr-8mb (MB/s)","224.14 (min 201.84, max 246.44)" + "bw_mem-wr-16mb (MB/s)","270.97" + "bw_mem-wr-1mb (MB/s)","261.32 (min 249.63, max 273.00)" + "bw_mem-wr-2mb (MB/s)","258.26 (min 246.09, max 270.42)" + "bw_mem-wr-4mb (MB/s)","258.65 (min 246.53, max 270.76)" + "bw_mem-wr-8mb (MB/s)","258.76 (min 246.44, max 271.07)" + "bw_mmap_rd-mo-1mb (MB/s)","209.14" + "bw_mmap_rd-o2c-1mb (MB/s)","163.29" + "bw_pipe (MB/s)","410.43" + "bw_unix (MB/s)","203.46" + "lat_connect (us)","71.88" "lat_ctx-2-128k (us)","0.00" "lat_ctx-2-256k (us)","0.00" "lat_ctx-4-128k (us)","0.00" "lat_ctx-4-256k (us)","0.00" - "lat_fs-0k (num_files)","233.00" - "lat_fs-10k (num_files)","75.00" - "lat_fs-1k (num_files)","120.00" - "lat_fs-4k (num_files)","123.00" - "lat_mem_rd-stride128-sz1000k (ns)","98.27" - "lat_mem_rd-stride128-sz125k (ns)","16.01" - "lat_mem_rd-stride128-sz250k (ns)","42.07" - "lat_mem_rd-stride128-sz31k (ns)","4.01" + "lat_fs-0k (num_files)","248.00" + "lat_fs-10k (num_files)","85.00" + "lat_fs-1k (num_files)","132.00" + "lat_fs-4k (num_files)","138.00" + "lat_mem_rd-stride128-sz1000k (ns)","98.64" + "lat_mem_rd-stride128-sz125k (ns)","15.99" + "lat_mem_rd-stride128-sz250k (ns)","36.50" + "lat_mem_rd-stride128-sz31k (ns)","9.24" "lat_mem_rd-stride128-sz50 (ns)","4.01" - "lat_mem_rd-stride128-sz500k (ns)","88.77" - "lat_mem_rd-stride128-sz62k (ns)","16.91" - "lat_mmap-1m (us)","76.00" + "lat_mem_rd-stride128-sz500k (ns)","91.20" + "lat_mem_rd-stride128-sz62k (ns)","17.05" + "lat_mmap-1m (us)","75.00" "lat_ops-double-add (ns)","5.02" - "lat_ops-double-div (ns)","25.09" - "lat_ops-double-mul (ns)","7.02" - "lat_ops-float-add (ns)","5.04" + "lat_ops-double-div (ns)","25.07" + "lat_ops-double-mul (ns)","7.03" + "lat_ops-float-add (ns)","5.01" "lat_ops-float-div (ns)","15.05" "lat_ops-float-mul (ns)","6.02" "lat_ops-int-add (ns)","1.03" "lat_ops-int-bit (ns)","0.76" - "lat_ops-int-div (ns)","96.06" - "lat_ops-int-mod (ns)","23.91" + "lat_ops-int-div (ns)","96.04" + "lat_ops-int-mod (ns)","23.90" "lat_ops-int-mul (ns)","4.14" "lat_ops-int64-add (ns)","1.12" "lat_ops-int64-bit (ns)","0.67" - "lat_ops-int64-div (ns)","200.99" - "lat_ops-int64-mod (ns)","42.62" - "lat_ops-int64-mul (ns)","4.16" - "lat_pagefault (us)","1.42" - "lat_pipe (us)","29.91" - "lat_proc-exec (us)","1353.25" - "lat_proc-fork (us)","988.17" + "lat_ops-int64-div (ns)","200.88" + "lat_ops-int64-mod (ns)","42.63" + "lat_ops-int64-mul (ns)","4.15" + "lat_pagefault (us)","1.36" + "lat_pipe (us)","26.45" + "lat_proc-exec (us)","1271.80" + "lat_proc-fork (us)","977.17" "lat_proc-proccall (us)","0.01" - "lat_select (us)","33.01" - "lat_sem (us)","4.47" - "lat_sig-catch (us)","5.81" - "lat_sig-install (us)","0.88" - "lat_sig-prot (us)","0.57" - "lat_syscall-fstat (us)","3.43" - "lat_syscall-null (us)","0.39" - "lat_syscall-open (us)","263.14" + "lat_select (us)","33.05" + "lat_sem (us)","6.32" + "lat_sig-catch (us)","5.56" + "lat_sig-install (us)","0.83" + "lat_sig-prot (us)","0.40" + "lat_syscall-fstat (us)","3.32" + "lat_syscall-null (us)","0.38" + "lat_syscall-open (us)","284.33" "lat_syscall-read (us)","0.67" - "lat_syscall-stat (us)","5.04" - "lat_syscall-write (us)","0.55" - "lat_tcp (us)","0.87" - "lat_unix (us)","31.75" - "latency_for_0.50_mb_block_size (nanosec)","88.77" - "latency_for_1.00_mb_block_size (nanosec)","49.13 (min 0.00, max 98.27)" - "pipe_bandwidth (MBs)","391.78" - "pipe_latency (microsec)","29.91" + "lat_syscall-stat (us)","4.65" + "lat_syscall-write (us)","0.53" + "lat_tcp (us)","0.84" + "lat_unix (us)","34.17" + "latency_for_0.50_mb_block_size (nanosec)","91.20" + "latency_for_1.00_mb_block_size (nanosec)","49.32 (min 0.00, max 98.64)" + "pipe_bandwidth (MBs)","410.43" + "pipe_latency (microsec)","26.45" "procedure_call (microsec)","0.01" - "select_on_200_tcp_fds (microsec)","33.01" - "semaphore_latency (microsec)","4.47" - "signal_handler_latency (microsec)","0.88" - "signal_handler_overhead (microsec)","5.81" - "tcp_ip_connection_cost_to_localhost (microsec)","76.04" - "tcp_latency_using_localhost (microsec)","0.87" - - -Table: **LM Bench Metrics** - - + "select_on_200_tcp_fds (microsec)","33.05" + "semaphore_latency (microsec)","6.32" + "signal_handler_latency (microsec)","0.83" + "signal_handler_overhead (microsec)","5.56" + "tcp_ip_connection_cost_to_localhost (microsec)","71.88" + "tcp_latency_using_localhost (microsec)","0.84" Dhrystone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dhrystone is a core only benchmark that runs from warm L1 caches in all -modern processors. It scales linearly with clock speed. For standard ARM -cores the DMIPS/MHz score will be identical with the same compiler and flags. +modern processors. It scales linearly with clock speed. + +Please take note, different run may produce different slightly results. +This is advised to run this test multiple times in order to get maximum +performance numbers. Execute the benchmark with the following: @@ -200,18 +194,13 @@ Execute the benchmark with the following: runDhrystone -.. csv-table:: +.. csv-table:: Dhrystone Benchmarks :header: "Benchmarks","am43xx-gpevm: perf" "cpu_clock (MHz)","1000.00" "dhrystone_per_mhz (DMIPS/MHz)","2.50" "dhrystone_per_second (DhrystoneP)","4444444.50" - -Table: **Dhrystone Benchmark** - - - Whetstone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Whetstone is a benchmark primarily measuring floating-point arithmetic performance. @@ -222,30 +211,20 @@ Execute the benchmark with the following: runWhetstone -.. csv-table:: +.. csv-table:: Whetstone Benchmarks :header: "Benchmarks","am43xx-gpevm: perf" "whetstone (MIPS)","3333.30" - -Table: **Whetstone Benchmark** - - - Linpack ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Linpack measures peak double precision (64 bit) floating point performance in solving a dense linear system. -.. csv-table:: +.. csv-table:: Linpack Benchmarks :header: "Benchmarks","am43xx-gpevm: perf" - "linpack (Kflops)","192209.00" - - -Table: **Linpack Benchmark** - - + "linpack (Kflops)","191721.00" NBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -255,24 +234,18 @@ More information about NBench at https://en.wikipedia.org/wiki/NBench and https://nbench.io/articles/index.html - -.. csv-table:: +.. csv-table:: NBench Benchmarks :header: "Benchmarks","am43xx-gpevm: perf" "assignment (Iterations)","7.20" - "fourier (Iterations)","13053.00" - "fp_emulation (Iterations)","75.00" - "huffman (Iterations)","855.02" - "idea (Iterations)","1830.40" - "lu_decomposition (Iterations)","338.30" - "neural_net (Iterations)","9.63" - "numeric_sort (Iterations)","503.24" - "string_sort (Iterations)","64.02" - - -Table: **NBench Benchmarks** - - + "fourier (Iterations)","13057.00" + "fp_emulation (Iterations)","75.15" + "huffman (Iterations)","855.84" + "idea (Iterations)","1831.60" + "lu_decomposition (Iterations)","334.46" + "neural_net (Iterations)","9.59" + "numeric_sort (Iterations)","511.48" + "string_sort (Iterations)","64.07" Stream ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -292,37 +265,28 @@ Execute the benchmark with the following: stream_c -.. csv-table:: +.. csv-table:: Stream Benchmarks :header: "Benchmarks","am43xx-gpevm: perf" - "add (MB/s)","327.10" - "copy (MB/s)","435.10" - "scale (MB/s)","654.20" - "triad (MB/s)","381.50" - - -Table: **Stream** - - + "add (MB/s)","326.90" + "copy (MB/s)","433.20" + "scale (MB/s)","652.30" + "triad (MB/s)","380.80" Boot-time Measurement -------------------------- +--------------------- Boot media: MMCSD -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^ -.. csv-table:: - :header: "Boot Configuration","am43xx-gpevm: boot time (sec)" +.. csv-table:: Linux boot time MMCSD + :header: "Boot Configuration","am43xx-gpevm: Boot time in seconds: avg(min,max)" - "Kernel boot time test when bootloader, kernel and sdk-rootfs are in mmc-sd","46.96 (min 46.73, max 47.46)" - "Kernel boot time test when init is /bin/sh and bootloader, kernel and sdk-rootfs are in mmc-sd","8.90 (min 8.79, max 9.26)" + "Linux boot time from SD with default rootfs (20 boot cycles)","62.57 (min 61.34, max 64.23)" -Table: **Boot time MMC/SD** - - - - +Boot time numbers [avg, min, max] are measured from "Starting kernel" to Linux prompt across 20 boot cycles. +| ALSA SoC Audio Driver ------------------------- @@ -332,185 +296,311 @@ ALSA SoC Audio Driver #. Format - S16\_LE #. Period size - 64 - -.. csv-table:: +.. csv-table:: Audio Capture :header: "Sampling Rate (Hz)","am43xx-gpevm: Throughput (bits/sec)","am43xx-gpevm: CPU Load (%)" - "8000","255997.00","0.54" - "11025","352795.00","0.63" - "16000","511993.00","0.75" - "22050","705591.00","1.09" - "24000","705588.00","0.87" - "32000","1023983.00","0.36" - "44100","1411177.00","1.43" - "48000","1535975.00","1.66" - "88200","2822352.00","2.86" - "96000","3071948.00","0.65" - -Table: **Audio Capture** - - -| - - -.. csv-table:: + "8000","255997.00","0.58" + "11025","352795.00","0.62" + "16000","511993.00","0.70" + "22050","705591.00","1.33" + "24000","705592.00","1.10" + "32000","1023987.00","2.65" + "44100","1411182.00","1.61" + "48000","1535980.00","2.30" + "88200","2822360.00","3.10" + "96000","3071955.00","0.54" + +.. csv-table:: Audio Playback :header: "Sampling Rate (Hz)","am43xx-gpevm: Throughput (bits/sec)","am43xx-gpevm: CPU Load (%)" - "8000","256102.00","0.70" - "11025","352941.00","0.52" - "16000","512204.00","1.67" - "22050","705881.00","0.96" - "24000","705880.00","0.78" - "32000","1024406.00","0.16" - "44100","1411758.00","1.27" - "48000","1536609.00","2.42" - "88200","2823517.00","2.55" - "96000","3073215.00","0.57" - -Table: **Audio Playback** - + "8000","256100.00","0.62" + "11025","352938.00","0.59" + "16000","512201.00","0.76" + "22050","705878.00","1.08" + "24000","705875.00","0.84" + "32000","1024400.00","0.26" + "44100","1411751.00","1.51" + "48000","1536600.00","1.96" + "88200","2823499.00","2.86" + "96000","3073197.00","0.54" | - - -NAND Driver +Graphics SGX/RGX Driver ------------------------- - - - - - -AM43XX-GPEVM +GLBenchmark ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. csv-table:: - :header: "Buffer size (bytes)","am43xx-gpevm: Write UBIFS Throughput (Mbytes/sec)","am43xx-gpevm: Write UBIFS CPU Load (%)","am43xx-gpevm: Read UBIFS Throughput (Mbytes/sec)","am43xx-gpevm: Read UBIFS CPU Load (%)" +Run GLBenchmark and capture performance reported Display rate (Fps), +Fill rate, Vertex Throughput, etc. All display outputs (HDMI, Displayport and/or LCD) +are connected when running these tests - "102400","5.17 (min 5.10, max 5.37)","77.66 (min 76.81, max 77.96)","10.67","39.02" - "262144","5.11 (min 5.08, max 5.16)","77.82 (min 77.70, max 78.00)","10.66","39.98" - "524288","5.12 (min 5.08, max 5.15)","77.62 (min 77.22, max 77.94)","10.66","40.94" - "1048576","5.11 (min 5.09, max 5.14)","77.67 (min 77.47, max 78.14)","10.67","41.04" - "5242880","5.12 (min 5.07, max 5.16)","77.81 (min 77.47, max 78.25)","10.66","40.25" +Performance (Fps) +""""""""""""""""""""""""""" - +.. csv-table:: GLBenchmark 25 Performance + :header: "Benchmark","am43xx-gpevm: Test Number","am43xx-gpevm: Fps" + "GLB25_EgyptTestC24Z16FixedTime test","2500005.00","4.45 (min 2.20, max 11.34)" + "GLB25_EgyptTestC24Z16_ETC1 test","2501001.00","5.20 (min 2.20, max 11.90)" + "GLB25_EgyptTestC24Z16_ETC1to565 test","2501401.00","5.19 (min 2.20, max 11.71)" + "GLB25_EgyptTestC24Z16_PVRTC4 test","2501101.00","5.00 (min 2.13, max 11.34)" + "GLB25_EgyptTestC24Z24MS4 test","2500003.00","4.18 (min 1.24, max 9.92)" + "GLB25_EgyptTestStandard_inherited test","2000000.00","15.21 (min 10.56, max 19.84)" -MMC/SD Driver -------------------------- +.. csv-table:: GLBenchmark 25 Offscreen Performance + :header: "Benchmark","am43xx-gpevm: Test Number","am43xx-gpevm: Fps" -.. warning:: + "GLB25_EgyptTestC24Z16_ETC1_Offscreen test","2501011.00","3.00" + "GLB25_EgyptTestStandardOffscreen_inherited test","2000010.00","6.00" - **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. +Vertex Throughput +""""""""""""""""""""""""""" -| +.. csv-table:: GLBenchmark 25 Vertex Throughput + :header: "Benchmark","am43xx-gpevm: Test Number","am43xx-gpevm: Rate (triangles/sec)" - + "GLB25_TriangleTexFragmentLitTestC24Z16 test","2500511.00","2307343.50" + "GLB25_TriangleTexTestC24Z16 test","2500301.00","11125243.00" + "GLB25_TriangleTexVertexLitTestC24Z16 test","2500411.00","4215366.50" +Pixel Throughput +""""""""""""""""""""""""""" +.. csv-table:: GLBenchmark 25 Pixel Throughput + :header: "Benchmark","am43xx-gpevm: Test Number","am43xx-gpevm: Rate (texel/sec)","am43xx-gpevm: Fps" + "GLB25_FillTestC24Z16 test","2500101.00","102746568.00","4.17 (min 3.97, max 4.25)" -AM43XX-GPEVM +Glmark2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -| -.. csv-table:: - :header: "Buffer size (bytes)","am43xx-gpevm: Write EXT4 Throughput (Mbytes/sec)","am43xx-gpevm: Write EXT4 CPU Load (%)","am43xx-gpevm: Read EXT4 Throughput (Mbytes/sec)","am43xx-gpevm: Read EXT4 CPU Load (%)" +Run Glmark2 and capture performance reported (Score). All display outputs (HDMI, Displayport and/or LCD) are connected when running these tests - "1m","5.90","3.40","26.60","8.92" - "4m","9.41","2.41","26.60","4.40" - "4k","2.56","12.38","8.59","31.77" - "256k","7.97","3.26","26.60","9.68" +.. csv-table:: Glmark2 Performance + :header: "Benchmark","am43xx-gpevm: Score" + + "Glmark2-DRM","40.00" + "Glmark2-Wayland","62.00" | +NAND Driver +------------------------- +AM43XX-GPEVM +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. csv-table:: NAND Performance + :header: "Buffer size (bytes)","am43xx-gpevm: Write UBIFS Throughput (Mbytes/sec)","am43xx-gpevm: Write UBIFS CPU Load (%)","am43xx-gpevm: Read UBIFS Throughput (Mbytes/sec)","am43xx-gpevm: Read UBIFS CPU Load (%)" + "102400","5.03 (min 4.90, max 5.34)","79.16 (min 77.63, max 79.80)","10.70","35.59" + "262144","4.87 (min 4.77, max 5.16)","77.48 (min 75.34, max 78.50)","10.60","35.53" + "524288","4.96 (min 4.87, max 5.00)","78.72 (min 78.37, max 79.10)","10.67","36.05" + "1048576","4.96 (min 4.90, max 5.00)","78.77 (min 78.58, max 79.05)","10.71","34.76" + "5242880","4.96 (min 4.91, max 4.99)","78.70 (min 78.35, max 79.00)","10.70","34.02" - -| - +MMCSD +----- -The performance numbers were captured using the following: +.. important:: -- SanDisk 8GB MicroSDHC Class 10 Memory Card -- Partition was mounted with async option + 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. -| +MMC EXT4 FIO 1G +^^^^^^^^^^^^^^^ +.. csv-table:: MMC EXT4 FIO 1G + :header: "Buffer size (bytes)","am43xx-gpevm: Write EXT4 Throughput (Mbytes/sec)","am43xx-gpevm: Write EXT4 CPU Load (%)","am43xx-gpevm: Read EXT4 Throughput (Mbytes/sec)","am43xx-gpevm: Read EXT4 CPU Load (%)" + "1m","13.90","4.66","22.70","7.98" + "4m","14.40","4.02","23.10","7.75" + "4k","4.50","22.49","10.30","37.71" + "256k","13.80","5.56","22.40","8.91" -UBoot MMC/SD Driver -------------------------- -| +MMC EXT4 +^^^^^^^^ +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am43xx-gpevm: Write Raw Throughput (Mbytes/sec)","am43xx-gpevm: Write Raw CPU Load (%)","am43xx-gpevm: Read Raw Throughput (Mbytes/sec)","am43xx-gpevm: Read Raw CPU Load (%)" + "102400","14.70 (min 14.16, max 15.23)","10.43 (min 8.69, max 15.48)","20.55","17.69" + "262144","14.71 (min 14.37, max 15.08)","11.44 (min 9.01, max 16.69)","20.21","15.75" + "524288","14.62 (min 14.29, max 15.14)","11.22 (min 8.90, max 17.03)","20.18","15.12" + "1048576","14.83 (min 14.46, max 15.14)","10.51 (min 8.35, max 15.50)","21.89","15.37" + "5242880","14.74 (min 14.34, max 14.98)","11.30 (min 9.59, max 15.13)","20.82","15.17" +The performance numbers were captured using the following: +- SanDisk 8GB MicroSDHC Class 10 Memory Card +- Partition was mounted with async option +UBoot MMCSD +----------- -AM43XX-GPEVM -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +UBOOT MMCSD FAT +^^^^^^^^^^^^^^^ -.. csv-table:: +.. csv-table:: UBOOT MMCSD FAT :header: "File size (bytes in hex)","am43xx-gpevm: Write Throughput (Kbytes/sec)","am43xx-gpevm: Read Throughput (Kbytes/sec)" - "400000","10556.70","18618.18" - "800000","9649.00","19095.57" - "1000000","7713.75","19389.35" - + "400000","11441.34","18204.44" + "800000","13086.26","18919.17" + "1000000","14160.76","19275.29" The performance numbers were captured using the following: - SanDisk 8GB MicroSDHC Class 10 Memory Card - - - + | - - USB Driver ------------------------- - - USB Device Controller ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. csv-table:: USBDEVICE HIGHSPEED SLAVE_READ_THROUGHPUT + :header: "Number of Blocks","am43xx-gpevm: Throughput (MB/sec)" + "150","29.80" +.. csv-table:: USBDEVICE HIGHSPEED SLAVE_WRITE_THROUGHPUT + :header: "Number of Blocks","am43xx-gpevm: Throughput (MB/sec)" + "150","32.70" +| +CRYPTO Driver +------------------------- +OpenSSL Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. csv-table:: OpenSSL Performance + :header: "Algorithm","Buffer Size (in bytes)","am43xx-gpevm: throughput (KBytes/Sec)" + + "aes-128-cbc","1024","35747.84" + "aes-128-cbc","16","26446.95" + "aes-128-cbc","16384","35984.73" + "aes-128-cbc","256","34951.85" + "aes-128-cbc","64","32576.13" + "aes-128-cbc","8192","36020.22" + "aes-128-ecb","1024","37481.13" + "aes-128-ecb","16","29543.00" + "aes-128-ecb","16384","36022.95" + "aes-128-ecb","256","36898.99" + "aes-128-ecb","64","34818.22" + "aes-128-ecb","8192","37579.43" + "aes-192-cbc","1024","31572.31" + "aes-192-cbc","16","23711.11" + "aes-192-cbc","16384","31724.89" + "aes-192-cbc","256","30984.36" + "aes-192-cbc","64","28734.70" + "aes-192-cbc","8192","31719.42" + "aes-192-ecb","1024","30806.70" + "aes-192-ecb","16","26539.27" + "aes-192-ecb","16384","30894.76" + "aes-192-ecb","256","30396.59" + "aes-192-ecb","64","29511.04" + "aes-192-ecb","8192","30892.03" + "aes-256-cbc","1024","27561.64" + "aes-256-cbc","16","21345.31" + "aes-256-cbc","16384","27694.42" + "aes-256-cbc","256","27116.46" + "aes-256-cbc","64","25273.13" + "aes-256-cbc","8192","27648.00" + "aes-256-ecb","1024","26888.19" + "aes-256-ecb","16","23633.29" + "aes-256-ecb","16384","27017.22" + "aes-256-ecb","256","26694.49" + "aes-256-ecb","64","25829.82" + "aes-256-ecb","8192","26987.18" + "des3","1024","3417.43" + "des3","16","3324.10" + "des3","16384","3435.18" + "des3","256","3428.86" + "des3","64","3410.35" + "des3","8192","3429.72" + "md5","1024","107671.55" + "md5","16","7538.66" + "md5","16384","137052.16" + "md5","256","64438.95" + "md5","64","24612.16" + "md5","8192","134671.02" + "sha1","1024","96461.82" + "sha1","16","7475.67" + "sha1","16384","118953.30" + "sha1","256","59920.13" + "sha1","64","23729.22" + "sha1","8192","117260.29" + "sha224","1024","53822.12" + "sha224","16","6092.77" + "sha224","16384","61882.37" + "sha224","256","37944.83" + "sha224","64","17359.49" + "sha224","8192","61278.89" + "sha256","1024","53979.82" + "sha256","16","6181.99" + "sha256","16384","61440.00" + "sha256","256","38204.33" + "sha256","64","17617.75" + "sha256","8192","61169.66" + "sha512","1024","33758.21" + "sha512","16","3310.41" + "sha512","16384","39747.58" + "sha512","256","21815.98" + "sha512","64","13270.23" + "sha512","8192","39340.71" + +.. csv-table:: OpenSSL CPU Load + :header: "Algorithm","am43xx-gpevm: CPU Load" + + "aes-128-cbc","99.00" + "aes-128-ecb","99.00" + "aes-192-cbc","99.00" + "aes-192-ecb","99.00" + "aes-256-cbc","99.00" + "aes-256-ecb","99.00" + "des3","99.00" + "md5","99.00" + "sha1","99.00" + "sha224","99.00" + "sha256","99.00" + "sha386","87.00" + "sha512","99.00" + +Listed for each algorithm are the code snippets used to run each + benchmark test. +:: -.. csv-table:: - :header: "Number of Blocks","am43xx-gpevm: Throughput (MB/sec)" - - "150","18.30" - -Table: **USBDEVICE HIGHSPEED SLAVE READ THROUGHPUT** + time -v openssl speed -elapsed -evp aes-128-cbc -| -| +IPSec Hardware Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Note: queue\_len is set to 300 and software fallback threshold set to 9 +to enable software support for optimal performance +.. csv-table:: IPSec Hardware Performance + :header: "Algorithm","am43xx-gpevm: Throughput (Mbps)","am43xx-gpevm: Packets/Sec","am43xx-gpevm: CPU Load" -.. csv-table:: - :header: "Number of Blocks","am43xx-gpevm: Throughput (MB/sec)" + "aes128","0.00","0.00","97.91" - "150","21.90" +IPSec Software Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Table: **USBDEVICE HIGHSPEED SLAVE WRITE THROUGHPUT** +.. csv-table:: IPSec Software Performance + :header: "Algorithm","am43xx-gpevm: Throughput (Mbps)","am43xx-gpevm: Packets/Sec","am43xx-gpevm: CPU Load" -| -| + "3des","33.00","2.00","97.63" + "aes128","86.00","7.00","98.64" + "aes192","80.30","7.00","100.16" + "aes256","70.00","6.00","100.18" diff --git a/source/devices/AM62AX/linux/Linux_Performance_Guide.rst b/source/devices/AM62AX/linux/Linux_Performance_Guide.rst index 9d30e3d51..e438dbc1d 100644 --- a/source/devices/AM62AX/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62AX/linux/Linux_Performance_Guide.rst @@ -1,6 +1,6 @@ ====================================== - Linux 10.00 Performance Guide + Linux 10.01 Performance Guide ====================================== .. rubric:: **Read This First** @@ -30,20 +30,18 @@ with drivers included in a particular release. :name: if-you-need-assistance-kernel-perf-guide For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ - +https://e2e.ti.com/ or https://support.ti.com/ System Benchmarks ------------------- - LMBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ LMBench is a collection of microbenchmarks of which the memory bandwidth and latency related ones are typically used to estimate processor memory system performance. More information about lmbench at -http://lmbench.sourceforge.net/whatis_lmbench.html and -http://lmbench.sourceforge.net/man/lmbench.8.html +https://lmbench.sourceforge.net/whatis_lmbench.html and +https://lmbench.sourceforge.net/man/lmbench.8.html **Latency**: lat_mem_rd-stride128-szN, where N is equal to or smaller than the cache size at given level measures the cache miss penalty. N that is at least @@ -65,76 +63,76 @@ Execute the LMBench with the following: .. csv-table:: LMBench Benchmarks :header: "Benchmarks","am62axx_sk-fs: perf" - "af_unix_sock_stream_latency (microsec)","25.30" - "af_unix_socket_stream_bandwidth (MBs)","1212.25" - "bw_file_rd-io-1mb (MB/s)","1263.54" - "bw_file_rd-o2c-1mb (MB/s)","734.35" - "bw_mem-bcopy-16mb (MB/s)","1827.11" - "bw_mem-bcopy-1mb (MB/s)","1975.11" - "bw_mem-bcopy-2mb (MB/s)","1761.80" - "bw_mem-bcopy-4mb (MB/s)","1790.78" - "bw_mem-bcopy-8mb (MB/s)","1798.76" - "bw_mem-bzero-16mb (MB/s)","7779.58" - "bw_mem-bzero-1mb (MB/s)","4864.92 (min 1975.11, max 7754.73)" - "bw_mem-bzero-2mb (MB/s)","4753.46 (min 1761.80, max 7745.12)" - "bw_mem-bzero-4mb (MB/s)","4773.62 (min 1790.78, max 7756.45)" - "bw_mem-bzero-8mb (MB/s)","4784.76 (min 1798.76, max 7770.76)" - "bw_mem-cp-16mb (MB/s)","913.03" - "bw_mem-cp-1mb (MB/s)","4467.69 (min 904.00, max 8031.38)" - "bw_mem-cp-2mb (MB/s)","4405.03 (min 887.84, max 7922.22)" - "bw_mem-cp-4mb (MB/s)","4386.41 (min 936.66, max 7836.15)" - "bw_mem-cp-8mb (MB/s)","4391.31 (min 965.02, max 7817.59)" - "bw_mem-fcp-16mb (MB/s)","1714.71" - "bw_mem-fcp-1mb (MB/s)","4750.48 (min 1746.22, max 7754.73)" - "bw_mem-fcp-2mb (MB/s)","4710.08 (min 1675.04, max 7745.12)" - "bw_mem-fcp-4mb (MB/s)","4725.92 (min 1695.39, max 7756.45)" - "bw_mem-fcp-8mb (MB/s)","4728.02 (min 1685.27, max 7770.76)" - "bw_mem-frd-16mb (MB/s)","1886.79" - "bw_mem-frd-1mb (MB/s)","1837.12 (min 1746.22, max 1928.02)" - "bw_mem-frd-2mb (MB/s)","1690.33 (min 1675.04, max 1705.61)" - "bw_mem-frd-4mb (MB/s)","1766.25 (min 1695.39, max 1837.11)" - "bw_mem-frd-8mb (MB/s)","1753.49 (min 1685.27, max 1821.70)" - "bw_mem-fwr-16mb (MB/s)","7792.21" - "bw_mem-fwr-1mb (MB/s)","4979.70 (min 1928.02, max 8031.38)" - "bw_mem-fwr-2mb (MB/s)","4813.92 (min 1705.61, max 7922.22)" - "bw_mem-fwr-4mb (MB/s)","4836.63 (min 1837.11, max 7836.15)" - "bw_mem-fwr-8mb (MB/s)","4819.65 (min 1821.70, max 7817.59)" - "bw_mem-rd-16mb (MB/s)","1937.98" - "bw_mem-rd-1mb (MB/s)","1927.74 (min 1688.62, max 2166.85)" - "bw_mem-rd-2mb (MB/s)","1784.64 (min 1645.28, max 1924.00)" - "bw_mem-rd-4mb (MB/s)","1782.14 (min 1649.48, max 1914.79)" - "bw_mem-rd-8mb (MB/s)","1857.86 (min 1784.52, max 1931.20)" - "bw_mem-rdwr-16mb (MB/s)","1833.39" - "bw_mem-rdwr-1mb (MB/s)","1282.41 (min 904.00, max 1660.82)" - "bw_mem-rdwr-2mb (MB/s)","1164.38 (min 887.84, max 1440.92)" - "bw_mem-rdwr-4mb (MB/s)","1338.91 (min 936.66, max 1741.15)" - "bw_mem-rdwr-8mb (MB/s)","1371.30 (min 965.02, max 1777.58)" - "bw_mem-wr-16mb (MB/s)","1828.99" - "bw_mem-wr-1mb (MB/s)","1674.72 (min 1660.82, max 1688.62)" - "bw_mem-wr-2mb (MB/s)","1543.10 (min 1440.92, max 1645.28)" - "bw_mem-wr-4mb (MB/s)","1695.32 (min 1649.48, max 1741.15)" - "bw_mem-wr-8mb (MB/s)","1781.05 (min 1777.58, max 1784.52)" - "bw_mmap_rd-mo-1mb (MB/s)","2180.23" - "bw_mmap_rd-o2c-1mb (MB/s)","661.05" - "bw_pipe (MB/s)","793.38" - "bw_unix (MB/s)","1212.25" - "lat_connect (us)","51.39" - "lat_ctx-2-128k (us)","6.19" - "lat_ctx-2-256k (us)","5.93" - "lat_ctx-4-128k (us)","5.69" - "lat_ctx-4-256k (us)","4.47" - "lat_fs-0k (num_files)","306.00" - "lat_fs-10k (num_files)","120.00" - "lat_fs-1k (num_files)","192.00" - "lat_fs-4k (num_files)","202.00" - "lat_mem_rd-stride128-sz1000k (ns)","30.96" - "lat_mem_rd-stride128-sz125k (ns)","5.56" - "lat_mem_rd-stride128-sz250k (ns)","5.82" - "lat_mem_rd-stride128-sz31k (ns)","2.16" + "af_unix_sock_stream_latency (microsec)","26.81" + "af_unix_socket_stream_bandwidth (MBs)","1190.21" + "bw_file_rd-io-1mb (MB/s)","1283.23" + "bw_file_rd-o2c-1mb (MB/s)","729.93" + "bw_mem-bcopy-16mb (MB/s)","1832.13" + "bw_mem-bcopy-1mb (MB/s)","1941.75" + "bw_mem-bcopy-2mb (MB/s)","1719.10" + "bw_mem-bcopy-4mb (MB/s)","1632.65" + "bw_mem-bcopy-8mb (MB/s)","1822.53" + "bw_mem-bzero-16mb (MB/s)","7901.23" + "bw_mem-bzero-1mb (MB/s)","4929.85 (min 1941.75, max 7917.94)" + "bw_mem-bzero-2mb (MB/s)","4792.34 (min 1719.10, max 7865.57)" + "bw_mem-bzero-4mb (MB/s)","4768.90 (min 1632.65, max 7905.14)" + "bw_mem-bzero-8mb (MB/s)","4858.64 (min 1822.53, max 7894.74)" + "bw_mem-cp-16mb (MB/s)","920.97" + "bw_mem-cp-1mb (MB/s)","4536.64 (min 922.68, max 8150.59)" + "bw_mem-cp-2mb (MB/s)","4463.19 (min 924.93, max 8001.45)" + "bw_mem-cp-4mb (MB/s)","4444.81 (min 935.89, max 7953.72)" + "bw_mem-cp-8mb (MB/s)","4451.94 (min 962.12, max 7941.76)" + "bw_mem-fcp-16mb (MB/s)","1648.46" + "bw_mem-fcp-1mb (MB/s)","4836.17 (min 1754.39, max 7917.94)" + "bw_mem-fcp-2mb (MB/s)","4722.80 (min 1580.03, max 7865.57)" + "bw_mem-fcp-4mb (MB/s)","4790.91 (min 1676.68, max 7905.14)" + "bw_mem-fcp-8mb (MB/s)","4785.51 (min 1676.27, max 7894.74)" + "bw_mem-frd-16mb (MB/s)","1886.35" + "bw_mem-frd-1mb (MB/s)","1882.31 (min 1754.39, max 2010.23)" + "bw_mem-frd-2mb (MB/s)","1641.81 (min 1580.03, max 1703.58)" + "bw_mem-frd-4mb (MB/s)","1664.45 (min 1652.21, max 1676.68)" + "bw_mem-frd-8mb (MB/s)","1780.42 (min 1676.27, max 1884.57)" + "bw_mem-fwr-16mb (MB/s)","7944.39" + "bw_mem-fwr-1mb (MB/s)","5080.41 (min 2010.23, max 8150.59)" + "bw_mem-fwr-2mb (MB/s)","4852.52 (min 1703.58, max 8001.45)" + "bw_mem-fwr-4mb (MB/s)","4802.97 (min 1652.21, max 7953.72)" + "bw_mem-fwr-8mb (MB/s)","4913.17 (min 1884.57, max 7941.76)" + "bw_mem-rd-16mb (MB/s)","1935.64" + "bw_mem-rd-1mb (MB/s)","1939.10 (min 1680.39, max 2197.80)" + "bw_mem-rd-2mb (MB/s)","1768.02 (min 1633.99, max 1902.04)" + "bw_mem-rd-4mb (MB/s)","1818.85 (min 1722.90, max 1914.79)" + "bw_mem-rd-8mb (MB/s)","1845.93 (min 1772.46, max 1919.39)" + "bw_mem-rdwr-16mb (MB/s)","1814.26" + "bw_mem-rdwr-1mb (MB/s)","1313.13 (min 922.68, max 1703.58)" + "bw_mem-rdwr-2mb (MB/s)","1270.22 (min 924.93, max 1615.51)" + "bw_mem-rdwr-4mb (MB/s)","1302.32 (min 935.89, max 1668.75)" + "bw_mem-rdwr-8mb (MB/s)","1361.54 (min 962.12, max 1760.95)" + "bw_mem-wr-16mb (MB/s)","1822.32" + "bw_mem-wr-1mb (MB/s)","1691.99 (min 1680.39, max 1703.58)" + "bw_mem-wr-2mb (MB/s)","1624.75 (min 1615.51, max 1633.99)" + "bw_mem-wr-4mb (MB/s)","1695.83 (min 1668.75, max 1722.90)" + "bw_mem-wr-8mb (MB/s)","1766.71 (min 1760.95, max 1772.46)" + "bw_mmap_rd-mo-1mb (MB/s)","2134.85" + "bw_mmap_rd-o2c-1mb (MB/s)","680.04" + "bw_pipe (MB/s)","805.00" + "bw_unix (MB/s)","1190.21" + "lat_connect (us)","56.95" + "lat_ctx-2-128k (us)","5.99" + "lat_ctx-2-256k (us)","6.45" + "lat_ctx-4-128k (us)","5.85" + "lat_ctx-4-256k (us)","4.51" + "lat_fs-0k (num_files)","248.00" + "lat_fs-10k (num_files)","125.00" + "lat_fs-1k (num_files)","172.00" + "lat_fs-4k (num_files)","144.00" + "lat_mem_rd-stride128-sz1000k (ns)","30.75" + "lat_mem_rd-stride128-sz125k (ns)","5.53" + "lat_mem_rd-stride128-sz250k (ns)","5.83" + "lat_mem_rd-stride128-sz31k (ns)","3.65" "lat_mem_rd-stride128-sz50 (ns)","2.15" - "lat_mem_rd-stride128-sz500k (ns)","10.73" - "lat_mem_rd-stride128-sz62k (ns)","5.23" - "lat_mmap-1m (us)","53.00" + "lat_mem_rd-stride128-sz500k (ns)","11.61" + "lat_mem_rd-stride128-sz62k (ns)","5.26" + "lat_mmap-1m (us)","58.00" "lat_ops-double-add (ns)","2.86" "lat_ops-double-div (ns)","15.74" "lat_ops-double-mul (ns)","2.86" @@ -145,45 +143,42 @@ Execute the LMBench with the following: "lat_ops-int-bit (ns)","0.48" "lat_ops-int-div (ns)","4.29" "lat_ops-int-mod (ns)","4.53" - "lat_ops-int-mul (ns)","3.08" + "lat_ops-int-mul (ns)","3.07" "lat_ops-int64-add (ns)","0.72" "lat_ops-int64-bit (ns)","0.48" - "lat_ops-int64-div (ns)","6.79" + "lat_ops-int64-div (ns)","6.80" "lat_ops-int64-mod (ns)","5.25" "lat_ops-int64-mul (ns)","3.55" - "lat_pagefault (us)","1.33" - "lat_pipe (us)","21.95" - "lat_proc-exec (us)","803.86" - "lat_proc-fork (us)","612.60" + "lat_pagefault (us)","1.36" + "lat_pipe (us)","23.35" + "lat_proc-exec (us)","842.71" + "lat_proc-fork (us)","651.13" "lat_proc-proccall (us)","0.01" - "lat_select (us)","35.75" - "lat_sem (us)","1.55" - "lat_sig-catch (us)","5.31" - "lat_sig-install (us)","0.65" - "lat_sig-prot (us)","0.97" - "lat_syscall-fstat (us)","1.64" + "lat_select (us)","35.07" + "lat_sem (us)","2.15" + "lat_sig-catch (us)","5.77" + "lat_sig-install (us)","0.66" + "lat_sig-prot (us)","1.21" + "lat_syscall-fstat (us)","2.00" "lat_syscall-null (us)","0.46" - "lat_syscall-open (us)","276.05" - "lat_syscall-read (us)","0.77" - "lat_syscall-stat (us)","4.09" - "lat_syscall-write (us)","0.69" + "lat_syscall-open (us)","169.97" + "lat_syscall-read (us)","0.83" + "lat_syscall-stat (us)","4.97" + "lat_syscall-write (us)","0.74" "lat_tcp (us)","0.94" - "lat_unix (us)","25.30" - "latency_for_0.50_mb_block_size (nanosec)","10.73" - "latency_for_1.00_mb_block_size (nanosec)","15.48 (min 0.00, max 30.96)" - "pipe_bandwidth (MBs)","793.38" - "pipe_latency (microsec)","21.95" + "lat_unix (us)","26.81" + "latency_for_0.50_mb_block_size (nanosec)","11.61" + "latency_for_1.00_mb_block_size (nanosec)","15.38 (min 0.00, max 30.75)" + "pipe_bandwidth (MBs)","805.00" + "pipe_latency (microsec)","23.35" "procedure_call (microsec)","0.01" - "select_on_200_tcp_fds (microsec)","35.75" - "semaphore_latency (microsec)","1.55" - "signal_handler_latency (microsec)","0.65" - "signal_handler_overhead (microsec)","5.31" - "tcp_ip_connection_cost_to_localhost (microsec)","51.39" + "select_on_200_tcp_fds (microsec)","35.07" + "semaphore_latency (microsec)","2.15" + "signal_handler_latency (microsec)","0.66" + "signal_handler_overhead (microsec)","5.77" + "tcp_ip_connection_cost_to_localhost (microsec)","56.95" "tcp_latency_using_localhost (microsec)","0.94" - - - Dhrystone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dhrystone is a core only benchmark that runs from warm L1 caches in all @@ -193,7 +188,6 @@ Please take note, different run may produce different slightly results. This is advised to run this test multiple times in order to get maximum performance numbers. - Execute the benchmark with the following: :: @@ -207,9 +201,6 @@ Execute the benchmark with the following: "dhrystone_per_mhz (DMIPS/MHz)","2.90" "dhrystone_per_second (DhrystoneP)","7142857.00" - - - Whetstone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Whetstone is a benchmark primarily measuring floating-point arithmetic performance. @@ -225,9 +216,6 @@ Execute the benchmark with the following: "whetstone (MIPS)","5000.00" - - - Linpack ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Linpack measures peak double precision (64 bit) floating point performance in @@ -236,12 +224,7 @@ solving a dense linear system. .. csv-table:: Linpack Benchmarks :header: "Benchmarks","am62axx_sk-fs: perf" - "linpack (Kflops)","573944.00" - - - - - + "linpack (Kflops)","578294.00" Stream ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -264,13 +247,10 @@ Execute the benchmark with the following: .. csv-table:: Stream Benchmarks :header: "Benchmarks","am62axx_sk-fs: perf" - "add (MB/s)","2826.80" - "copy (MB/s)","3967.20" - "scale (MB/s)","3770.40" - "triad (MB/s)","2564.10" - - - + "add (MB/s)","2609.30" + "copy (MB/s)","3771.70" + "scale (MB/s)","3491.20" + "triad (MB/s)","2399.70" CoreMarkPro ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -280,27 +260,20 @@ While CoreMark stresses the CPU pipeline, CoreMark-Pro tests the entire processo adding comprehensive support for multicore technology, a combination of integer and floating-point workloads, and data sets for utilizing larger memory subsystems. - .. csv-table:: CoreMarkPro Benchmarks :header: "Benchmarks","am62axx_sk-fs: perf" "cjpeg-rose7-preset (workloads/)","42.19" "core (workloads/)","0.30" - "coremark-pro ()","932.87" + "coremark-pro ()","938.54" "linear_alg-mid-100x100-sp (workloads/)","14.68" - "loops-all-mid-10k-sp (workloads/)","0.72" + "loops-all-mid-10k-sp (workloads/)","0.71" "nnet_test (workloads/)","1.09" - "parser-125k (workloads/)","8.93" - "radix2-big-64k (workloads/)","64.41" + "parser-125k (workloads/)","8.85" + "radix2-big-64k (workloads/)","69.60" "sha-test (workloads/)","81.30" "zip-test (workloads/)","22.22" - - - - - - MultiBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ MultiBench™ is a suite of benchmarks that allows processor and system designers to @@ -321,73 +294,47 @@ thread-enabled workloads to be tested. .. csv-table:: Multibench Benchmarks :header: "Benchmarks","am62axx_sk-fs: perf" - "4m-check (workloads/)","426.69" - "4m-check-reassembly (workloads/)","122.25" + "4m-check (workloads/)","426.04" + "4m-check-reassembly (workloads/)","124.69" "4m-check-reassembly-tcp (workloads/)","60.10" - "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","33.59" - "4m-check-reassembly-tcp-x264w2 (workloads/)","1.92" - "4m-cmykw2 (workloads/)","251.26" - "4m-cmykw2-rotatew2 (workloads/)","50.59" - "4m-reassembly (workloads/)","83.19" + "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","33.69" + "4m-check-reassembly-tcp-x264w2 (workloads/)","1.93" + "4m-cmykw2 (workloads/)","246.31" + "4m-cmykw2-rotatew2 (workloads/)","50.51" + "4m-reassembly (workloads/)","83.47" "4m-rotatew2 (workloads/)","54.73" "4m-tcp-mixed (workloads/)","119.40" "4m-x264w2 (workloads/)","1.98" "empty-wld (workloads/)","1.00" - "idct-4m (workloads/)","19.28" - "idct-4mw1 (workloads/)","19.29" - "ippktcheck-4m (workloads/)","426.19" - "ippktcheck-4mw1 (workloads/)","426.26" - "ipres-4m (workloads/)","113.04" - "ipres-4mw1 (workloads/)","112.44" - "md5-4m (workloads/)","29.39" - "md5-4mw1 (workloads/)","29.12" - "rgbcmyk-4m (workloads/)","65.72" - "rgbcmyk-4mw1 (workloads/)","65.83" - "rotate-4ms1 (workloads/)","23.76" - "rotate-4ms1w1 (workloads/)","23.74" - "rotate-4ms64 (workloads/)","24.10" - "rotate-4ms64w1 (workloads/)","24.07" + "idct-4m (workloads/)","19.27" + "idct-4mw1 (workloads/)","19.27" + "ippktcheck-4m (workloads/)","424.45" + "ippktcheck-4mw1 (workloads/)","424.09" + "ipres-4m (workloads/)","112.87" + "ipres-4mw1 (workloads/)","113.46" + "md5-4m (workloads/)","29.29" + "md5-4mw1 (workloads/)","29.03" + "rgbcmyk-4m (workloads/)","65.75" + "rgbcmyk-4mw1 (workloads/)","65.77" + "rotate-4ms1 (workloads/)","23.66" + "rotate-4ms1w1 (workloads/)","23.67" + "rotate-4ms64 (workloads/)","23.92" + "rotate-4ms64w1 (workloads/)","25.60" "x264-4mq (workloads/)","0.58" "x264-4mqw1 (workloads/)","0.58" - - - - - - - -| - Boot-time Measurement -------------------------- +--------------------- Boot media: MMCSD -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. csv-table:: Boot time MMCSD - :header: "Boot Configuration","am62axx_sk-fs: boot time (sec)" - - "Kernel boot time test when init is /bin/sh and bootloader, kernel and sdk-rootfs are in mmc-sd","4.25 (min 4.22, max 4.28)" - - - - - - - - - +^^^^^^^^^^^^^^^^^ - - - - - - - +.. csv-table:: Linux boot time MMCSD + :header: "Boot Configuration","am62axx_sk-fs: Boot time in seconds: avg(min,max)" + "Linux boot time from SD with default rootfs (20 boot cycles)","16.57 (min 15.67, max 17.24)" +Boot time numbers [avg, min, max] are measured from "Starting kernel" to Linux prompt across 20 boot cycles. | @@ -458,23 +405,18 @@ Running the following commands will trigger netperf clients to measure UDP burst netperf -H -j -C -l 60 -t UDP_STREAM -b -w -- -m -k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE - CPSW/CPSW2g/CPSW3g Ethernet Driver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - CPSW3g: AM62ax - .. rubric:: TCP Bidirectional Throughput :name: CPSW2g-tcp-bidirectional-throughput .. csv-table:: CPSW2g TCP Bidirectional Throughput :header: "Command Used","am62axx_sk-fs: THROUGHPUT (Mbits/sec)","am62axx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1856.93","66.28" - - - + "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1856.34","63.35" .. rubric:: TCP Bidirectional Throughput Interrupt Pacing :name: CPSW2g-tcp-bidirectional-throughput-interrupt-pacing @@ -482,392 +424,250 @@ CPSW/CPSW2g/CPSW3g Ethernet Driver .. csv-table:: CPSW2g TCP Bidirectional Throughput Interrupt Pacing :header: "Command Used","am62axx_sk-fs: THROUGHPUT (Mbits/sec)","am62axx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1792.48","31.15" - - - - - - + "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1877.64","36.58" - - +.. rubric:: UDP Throughput + :name: CPSW2g-udp-throughput-0-loss - +.. csv-table:: CPSW2g UDP Egress Throughput 0 loss + :header: "Frame Size(bytes)","am62axx_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62axx_sk-fs: THROUGHPUT (Mbits/sec)","am62axx_sk-fs: Packets Per Second (kPPS)","am62axx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - - + "64","18.00","16.42","114.00","40.70" + "128","82.00","73.46","112.00","40.31" + "256","210.00","186.80","111.00","40.33" + "1024","978.00","839.17","107.00","40.21" + "1518","1472.00","955.68","81.00","33.86" - +.. csv-table:: CPSW2g UDP Ingress Throughput 0 loss + :header: "Frame Size(bytes)","am62axx_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62axx_sk-fs: THROUGHPUT (Mbits/sec)","am62axx_sk-fs: Packets Per Second (kPPS)","am62axx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - + "64","18.00","1.02","7.00","2.44" + "128","82.00","4.85","7.00","5.70" + "256","210.00","12.89","8.00","1.48" + "1024","978.00","65.72","8.00","3.86" + "1518","1472.00","98.92","8.00","5.28" - +.. csv-table:: CPSW2g UDP Ingress Throughput possible loss + :header: "Frame Size(bytes)","am62axx_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62axx_sk-fs: THROUGHPUT (Mbits/sec)","am62axx_sk-fs: Packets Per Second (kPPS)","am62axx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62axx_sk-fs: Packet Loss %" - - - - - - - - - - - - -| + "64","18.00","32.83","228.00","41.27","43.93" + "128","82.00","98.72","150.00","40.41","0.28" + "256","210.00","337.70","201.00","42.58","46.54" + "1024","978.00","933.59","119.00","42.42","0.21" + "1518","1472.00","947.84","80.00","41.41","0.15" EMMC Driver -------------------------- +----------- +.. important:: -.. warning:: - - **IMPORTANT**: The performance numbers can be severely affected if the media is + 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. - - - - - - - - - - - - - - - - -AM62AXX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +EMMC EXT4 FIO 1G +^^^^^^^^^^^^^^^^ .. csv-table:: EMMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62axx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Write EXT4 CPU Load (%)","am62axx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Read EXT4 CPU Load (%)" - "1m","58.70","1.05","175.00","1.76" - "4m","58.20","0.85","175.00","1.49" - "4k","50.90","14.84","56.50","14.33" - "256k","58.60","1.42","174.00","2.18" - - - - - - - - - - - - - - - - - + "1m","90.40","1.46","172.00","1.86" + "4m","95.90","1.14","172.00","1.42" + "4k","63.80","20.08","94.20","23.04" + "256k","90.10","1.67","171.00","2.39" +EMMC EXT4 +^^^^^^^^^ +.. csv-table:: EMMC EXT4 + :header: "Buffer size (bytes)","am62axx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Write EXT4 CPU Load (%)","am62axx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Read EXT4 CPU Load (%)" - - + "102400","84.31 (min 81.57, max 85.86)","6.26 (min 5.61, max 8.19)","179.01","8.19" + "262144","80.39 (min 53.59, max 90.44)","6.08 (min 3.70, max 8.56)","179.87","9.52" + "524288","72.34 (min 49.21, max 89.48)","5.31 (min 3.06, max 8.43)","180.99","9.48" + "1048576","72.06 (min 47.11, max 89.92)","5.19 (min 2.92, max 7.94)","181.20","8.66" + "5242880","79.37 (min 55.35, max 88.16)","5.97 (min 4.47, max 8.33)","181.25","9.48" +EMMC VFAT +^^^^^^^^^ +.. csv-table:: EMMC VFAT + :header: "Buffer size (bytes)","am62axx_sk-fs: Write VFAT Throughput (Mbytes/sec)","am62axx_sk-fs: Write VFAT CPU Load (%)","am62axx_sk-fs: Read VFAT Throughput (Mbytes/sec)","am62axx_sk-fs: Read VFAT CPU Load (%)" -| + "102400","51.02 (min 45.02, max 52.67)","5.10 (min 4.15, max 7.76)","172.99","10.20" + "262144","52.91 (min 45.76, max 54.80)","5.17 (min 4.32, max 7.96)","171.43","10.33" + "524288","53.43 (min 46.13, max 55.33)","5.31 (min 4.35, max 8.23)","170.89","9.43" + "1048576","53.11 (min 45.89, max 55.06)","5.06 (min 4.20, max 7.88)","170.78","10.84" + "5242880","53.39 (min 45.78, max 55.49)","5.21 (min 4.35, max 7.89)","171.34","9.05" UBoot EMMC Driver -------------------------- - - - - -AM62AXX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +----------------- .. csv-table:: UBOOT EMMC RAW :header: "File size (bytes in hex)","am62axx_sk-fs: Write Throughput (Kbytes/sec)","am62axx_sk-fs: Read Throughput (Kbytes/sec)" - "2000000","61593.98","170666.67" - "4000000","62296.58","173835.54" - - - - - - - - - - - - - + "2000000","96376.47","171560.21" + "4000000","98996.98","175229.95" +MMCSD +----- +.. important:: - - - - - - - - - - - - - - - - - - - -| - -MMC/SD Driver -------------------------- - -.. warning:: - - **IMPORTANT**: The performance numbers can be severely affected if the media is + 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. - - - - - - - - - - - - - - - - - - - -AM62AXX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +MMC EXT4 FIO 1G +^^^^^^^^^^^^^^^ .. csv-table:: MMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62axx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Write EXT4 CPU Load (%)","am62axx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62axx_sk-fs: Read EXT4 CPU Load (%)" - "1m","14.40","0.59","25.30","0.60" - "4m","14.30","0.48","24.40","0.53" - "4k","4.07","2.22","10.40","3.41" - "256k","14.70","0.60","24.90","0.65" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + "1m","41.20","1.00","85.50","1.27" + "4m","40.90","0.68","84.20","1.07" + "4k","2.81","1.45","13.00","4.13" + "256k","38.20","1.17","84.40","1.51" +MMC RAW FIO 1G +^^^^^^^^^^^^^^ +.. csv-table:: MMC RAW FIO 1G + :header: "Buffer size (bytes)","am62axx_sk-fs: Write Raw Throughput (Mbytes/sec)","am62axx_sk-fs: Write Raw CPU Load (%)","am62axx_sk-fs: Read Raw Throughput (Mbytes/sec)","am62axx_sk-fs: Read Raw CPU Load (%)" + "1m","44.80","1.00","88.30","1.27" + "4m","44.60","0.74","88.30","0.85" + "4k","4.16","1.36","17.00","5.00" + "256k","42.90","1.07","86.30","1.40" +MMC EXT4 +^^^^^^^^ +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am62axx_sk-fs: Write Raw Throughput (Mbytes/sec)","am62axx_sk-fs: Write Raw CPU Load (%)","am62axx_sk-fs: Read Raw Throughput (Mbytes/sec)","am62axx_sk-fs: Read Raw CPU Load (%)" - - - - - - - - - - - - - + "102400","10.54 (min 10.31, max 10.94)","0.86 (min 0.72, max 1.21)","10.84","0.65" + "262144","10.25 (min 10.03, max 10.50)","0.89 (min 0.69, max 1.37)","10.96","0.84" + "524288","10.29 (min 10.19, max 10.42)","0.83 (min 0.63, max 1.20)","11.02","0.63" + "1048576","10.31 (min 10.18, max 10.39)","0.89 (min 0.76, max 1.16)","12.01","0.72" + "5242880","11.04 (min 10.91, max 11.11)","0.87 (min 0.72, max 1.20)","12.02","0.63" The performance numbers were captured using the following: -- SanDisk 8GB MicroSDHC Class 10 Memory Card +- SanDisk Max Endurance SD card (SDSQQVR-032G-GN6IA) - Partition was mounted with async option - - - - -| - -UBoot MMC/SD Driver -------------------------- - - +UBoot MMCSD +----------- -AM62AXX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +UBOOT MMCSD FAT +^^^^^^^^^^^^^^^ .. csv-table:: UBOOT MMCSD FAT :header: "File size (bytes in hex)","am62axx_sk-fs: Write Throughput (Kbytes/sec)","am62axx_sk-fs: Read Throughput (Kbytes/sec)" - "400000","13044.59","47627.91" - "800000","21389.03","63015.38" - "1000000","18724.57","74812.79" - - - - - - - - - - - - - - - - - - - - - - - - - - - - + "400000","39009.52","50567.90" + "800000","45765.36","65536.00" + "1000000","46678.06","76560.75" +The performance numbers were captured using the following: +- SanDisk Max Endurance SD card (SDSQQVR-032G-GN6IA) +| +USB Driver +------------------------- +USB Device Controller +^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - +.. csv-table:: USBDEVICE HIGHSPEED SLAVE_READ_THROUGHPUT + :header: "Number of Blocks","am62axx_sk-fs: Throughput (MB/sec)" - + "150","44.50" +.. csv-table:: USBDEVICE HIGHSPEED SLAVE_WRITE_THROUGHPUT + :header: "Number of Blocks","am62axx_sk-fs: Throughput (MB/sec)" + "150","38.70" | CRYPTO Driver ------------------------- - OpenSSL Performance ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. csv-table:: OpenSSL Performance :header: "Algorithm","Buffer Size (in bytes)","am62axx_sk-fs: throughput (KBytes/Sec)" - "aes-128-cbc","1024","25424.21" - "aes-128-cbc","16","463.89" - "aes-128-cbc","16384","87184.73" - "aes-128-cbc","256","7661.74" - "aes-128-cbc","64","2040.15" - "aes-128-cbc","8192","74315.09" - "aes-128-ecb","1024","25885.35" - "aes-128-ecb","16","472.89" - "aes-128-ecb","16384","89828.01" - "aes-128-ecb","256","7816.53" - "aes-128-ecb","64","2083.58" - "aes-128-ecb","8192","76647.08" - "aes-192-cbc","1024","24936.11" - "aes-192-cbc","16","464.92" - "aes-192-cbc","16384","78888.96" - "aes-192-cbc","256","7620.95" - "aes-192-cbc","64","2044.27" - "aes-192-cbc","8192","68247.55" - "aes-192-ecb","1024","25520.81" - "aes-192-ecb","16","479.59" - "aes-192-ecb","16384","81073.49" - "aes-192-ecb","256","7835.48" - "aes-192-ecb","64","2096.21" - "aes-192-ecb","8192","70309.21" - "aes-256-cbc","1024","24279.72" - "aes-256-cbc","16","465.84" - "aes-256-cbc","16384","71756.46" - "aes-256-cbc","256","7542.10" - "aes-256-cbc","64","2029.14" - "aes-256-cbc","8192","63048.36" - "aes-256-ecb","1024","24907.78" - "aes-256-ecb","16","474.14" - "aes-256-ecb","16384","73657.00" - "aes-256-ecb","256","7709.53" - "aes-256-ecb","64","2083.50" - "aes-256-ecb","8192","64965.29" - "sha256","1024","34098.52" - "sha256","16","573.46" - "sha256","16384","274912.60" - "sha256","256","8941.40" - "sha256","64","2268.39" - "sha256","8192","186168.66" - "sha512","1024","24584.19" - "sha512","16","562.22" - "sha512","16384","67988.14" - "sha512","256","8026.03" - "sha512","64","2249.41" - "sha512","8192","60650.84" - - - + "aes-128-cbc","1024","24957.27" + "aes-128-cbc","16","455.88" + "aes-128-cbc","16384","86857.05" + "aes-128-cbc","256","7483.90" + "aes-128-cbc","64","1996.46" + "aes-128-cbc","8192","73760.77" + "aes-128-ecb","1024","25503.40" + "aes-128-ecb","16","465.99" + "aes-128-ecb","16384","89822.55" + "aes-128-ecb","256","7670.44" + "aes-128-ecb","64","2051.39" + "aes-128-ecb","8192","76229.29" + "aes-192-cbc","1024","24464.38" + "aes-192-cbc","16","457.74" + "aes-192-cbc","16384","78528.51" + "aes-192-cbc","256","7427.24" + "aes-192-cbc","64","1993.73" + "aes-192-cbc","8192","67876.18" + "aes-192-ecb","1024","25041.24" + "aes-192-ecb","16","464.68" + "aes-192-ecb","16384","80909.65" + "aes-192-ecb","256","7619.07" + "aes-192-ecb","64","2042.90" + "aes-192-ecb","8192","69348.01" + "aes-256-cbc","1024","23916.20" + "aes-256-cbc","16","455.50" + "aes-256-cbc","16384","71647.23" + "aes-256-cbc","256","7336.79" + "aes-256-cbc","64","1995.58" + "aes-256-cbc","8192","62608.73" + "aes-256-ecb","1024","24311.81" + "aes-256-ecb","16","467.63" + "aes-256-ecb","16384","73449.47" + "aes-256-ecb","256","7513.60" + "aes-256-ecb","64","2043.61" + "aes-256-ecb","8192","64208.90" + "sha256","1024","32988.84" + "sha256","16","554.30" + "sha256","16384","273929.56" + "sha256","256","8643.50" + "sha256","64","2191.15" + "sha256","8192","183552.68" + "sha512","1024","23909.72" + "sha512","16","539.73" + "sha512","16384","67605.85" + "sha512","256","7746.73" + "sha512","64","2160.13" + "sha512","8192","60159.32" .. csv-table:: OpenSSL CPU Load :header: "Algorithm","am62axx_sk-fs: CPU Load" - "aes-128-cbc","33.00" - "aes-128-ecb","34.00" + "aes-128-cbc","34.00" + "aes-128-ecb","35.00" "aes-192-cbc","33.00" "aes-192-ecb","34.00" - "aes-256-cbc","32.00" + "aes-256-cbc","33.00" "aes-256-ecb","33.00" "sha256","98.00" "sha512","98.00" - - -Listed for each algorithm are the code snippets used to run each - benchmark test. +Listed for each algorithm are the code snippets used to run each benchmark test. :: diff --git a/source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst index 0b5835d7d..6b12ed7df 100644 --- a/source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst @@ -1,6 +1,6 @@ -=========================== - RT-linux Performance Guide -=========================== +====================================== + RT-linux 10.01 Performance Guide +====================================== .. rubric:: **Read This First** @@ -28,13 +28,14 @@ with drivers included in a particular release. .. rubric:: If You Need Assistance For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ +https://e2e.ti.com/ or https://support.ti.com/ + +| System Benchmarks ------------------------- Stress-ng and Cyclic Test -^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _RT-linux-performance: diff --git a/source/devices/AM62PX/linux/Linux_Performance_Guide.rst b/source/devices/AM62PX/linux/Linux_Performance_Guide.rst index 5da49d250..1c370e7b8 100644 --- a/source/devices/AM62PX/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62PX/linux/Linux_Performance_Guide.rst @@ -1,6 +1,6 @@ ====================================== - Linux 10.00 Performance Guide + Linux 10.01 Performance Guide ====================================== .. rubric:: **Read This First** @@ -30,20 +30,18 @@ with drivers included in a particular release. :name: if-you-need-assistance-kernel-perf-guide For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ - +https://e2e.ti.com/ or https://support.ti.com/ System Benchmarks ------------------- - LMBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ LMBench is a collection of microbenchmarks of which the memory bandwidth and latency related ones are typically used to estimate processor memory system performance. More information about lmbench at -http://lmbench.sourceforge.net/whatis_lmbench.html and -http://lmbench.sourceforge.net/man/lmbench.8.html +https://lmbench.sourceforge.net/whatis_lmbench.html and +https://lmbench.sourceforge.net/man/lmbench.8.html **Latency**: lat_mem_rd-stride128-szN, where N is equal to or smaller than the cache size at given level measures the cache miss penalty. N that is at least @@ -65,78 +63,78 @@ Execute the LMBench with the following: .. csv-table:: LMBench Benchmarks :header: "Benchmarks","am62pxx_sk-fs: perf" - "af_unix_sock_stream_latency (microsec)","25.35" - "af_unix_socket_stream_bandwidth (MBs)","1257.15" - "bw_file_rd-io-1mb (MB/s)","1340.26" - "bw_file_rd-o2c-1mb (MB/s)","792.08" - "bw_mem-bcopy-16mb (MB/s)","1972.39" - "bw_mem-bcopy-1mb (MB/s)","2141.74" - "bw_mem-bcopy-2mb (MB/s)","1789.55" - "bw_mem-bcopy-4mb (MB/s)","1689.43" - "bw_mem-bcopy-8mb (MB/s)","1703.76" - "bw_mem-bzero-16mb (MB/s)","8109.48" - "bw_mem-bzero-1mb (MB/s)","5128.58 (min 2141.74, max 8115.42)" - "bw_mem-bzero-2mb (MB/s)","4951.93 (min 1789.55, max 8114.31)" - "bw_mem-bzero-4mb (MB/s)","4900.83 (min 1689.43, max 8112.22)" - "bw_mem-bzero-8mb (MB/s)","4906.62 (min 1703.76, max 8109.48)" - "bw_mem-cp-16mb (MB/s)","980.63" - "bw_mem-cp-1mb (MB/s)","4667.98 (min 963.86, max 8372.09)" - "bw_mem-cp-2mb (MB/s)","4618.37 (min 976.72, max 8260.01)" - "bw_mem-cp-4mb (MB/s)","4589.77 (min 1007.94, max 8171.60)" - "bw_mem-cp-8mb (MB/s)","4585.55 (min 1027.22, max 8143.88)" - "bw_mem-fcp-16mb (MB/s)","1841.20" - "bw_mem-fcp-1mb (MB/s)","4979.88 (min 1844.34, max 8115.42)" - "bw_mem-fcp-2mb (MB/s)","4932.81 (min 1751.31, max 8114.31)" - "bw_mem-fcp-4mb (MB/s)","4950.97 (min 1789.71, max 8112.22)" - "bw_mem-fcp-8mb (MB/s)","4967.46 (min 1825.44, max 8109.48)" - "bw_mem-frd-16mb (MB/s)","2015.37" - "bw_mem-frd-1mb (MB/s)","1949.44 (min 1844.34, max 2054.54)" - "bw_mem-frd-2mb (MB/s)","1801.58 (min 1751.31, max 1851.85)" - "bw_mem-frd-4mb (MB/s)","1887.41 (min 1789.71, max 1985.11)" - "bw_mem-frd-8mb (MB/s)","1909.11 (min 1825.44, max 1992.78)" - "bw_mem-fwr-16mb (MB/s)","8127.33" - "bw_mem-fwr-1mb (MB/s)","5213.32 (min 2054.54, max 8372.09)" - "bw_mem-fwr-2mb (MB/s)","5055.93 (min 1851.85, max 8260.01)" - "bw_mem-fwr-4mb (MB/s)","5078.36 (min 1985.11, max 8171.60)" - "bw_mem-fwr-8mb (MB/s)","5068.33 (min 1992.78, max 8143.88)" - "bw_mem-rd-16mb (MB/s)","2065.32" - "bw_mem-rd-1mb (MB/s)","2133.24 (min 1956.60, max 2309.88)" - "bw_mem-rd-2mb (MB/s)","1910.09 (min 1769.60, max 2050.58)" - "bw_mem-rd-4mb (MB/s)","1968.89 (min 1872.37, max 2065.40)" - "bw_mem-rd-8mb (MB/s)","1992.38 (min 1915.71, max 2069.05)" - "bw_mem-rdwr-16mb (MB/s)","1992.78" - "bw_mem-rdwr-1mb (MB/s)","1423.73 (min 963.86, max 1883.59)" - "bw_mem-rdwr-2mb (MB/s)","1354.61 (min 976.72, max 1732.50)" - "bw_mem-rdwr-4mb (MB/s)","1438.84 (min 1007.94, max 1869.74)" - "bw_mem-rdwr-8mb (MB/s)","1480.03 (min 1027.22, max 1932.83)" - "bw_mem-wr-16mb (MB/s)","1968.75" - "bw_mem-wr-1mb (MB/s)","1920.10 (min 1883.59, max 1956.60)" - "bw_mem-wr-2mb (MB/s)","1751.05 (min 1732.50, max 1769.60)" - "bw_mem-wr-4mb (MB/s)","1871.06 (min 1869.74, max 1872.37)" - "bw_mem-wr-8mb (MB/s)","1924.27 (min 1915.71, max 1932.83)" - "bw_mmap_rd-mo-1mb (MB/s)","2253.81" - "bw_mmap_rd-o2c-1mb (MB/s)","736.11" - "bw_pipe (MB/s)","813.43" - "bw_unix (MB/s)","1257.15" - "lat_connect (us)","50.07" - "lat_ctx-2-128k (us)","6.47" - "lat_ctx-2-256k (us)","5.52" - "lat_ctx-4-128k (us)","5.96" - "lat_ctx-4-256k (us)","2.79" - "lat_fs-0k (num_files)","313.00" - "lat_fs-10k (num_files)","139.00" - "lat_fs-1k (num_files)","202.00" - "lat_fs-4k (num_files)","194.00" - "lat_mem_rd-stride128-sz1000k (ns)","29.33" - "lat_mem_rd-stride128-sz125k (ns)","5.57" - "lat_mem_rd-stride128-sz250k (ns)","5.84" - "lat_mem_rd-stride128-sz31k (ns)","4.19" + "af_unix_sock_stream_latency (microsec)","26.04" + "af_unix_socket_stream_bandwidth (MBs)","1242.15" + "bw_file_rd-io-1mb (MB/s)","1340.03" + "bw_file_rd-o2c-1mb (MB/s)","696.99" + "bw_mem-bcopy-16mb (MB/s)","1978.97" + "bw_mem-bcopy-1mb (MB/s)","2120.28" + "bw_mem-bcopy-2mb (MB/s)","1874.41" + "bw_mem-bcopy-4mb (MB/s)","1921.23" + "bw_mem-bcopy-8mb (MB/s)","1953.60" + "bw_mem-bzero-16mb (MB/s)","8112.22" + "bw_mem-bzero-1mb (MB/s)","5117.85 (min 2120.28, max 8115.42)" + "bw_mem-bzero-2mb (MB/s)","4990.07 (min 1874.41, max 8105.73)" + "bw_mem-bzero-4mb (MB/s)","5015.36 (min 1921.23, max 8109.48)" + "bw_mem-bzero-8mb (MB/s)","5029.49 (min 1953.60, max 8105.37)" + "bw_mem-cp-16mb (MB/s)","987.78" + "bw_mem-cp-1mb (MB/s)","4645.28 (min 963.39, max 8327.17)" + "bw_mem-cp-2mb (MB/s)","4594.23 (min 944.73, max 8243.73)" + "bw_mem-cp-4mb (MB/s)","4569.42 (min 965.83, max 8173.00)" + "bw_mem-cp-8mb (MB/s)","4596.80 (min 1051.11, max 8142.49)" + "bw_mem-fcp-16mb (MB/s)","1835.49" + "bw_mem-fcp-1mb (MB/s)","4971.12 (min 1826.82, max 8115.42)" + "bw_mem-fcp-2mb (MB/s)","4902.05 (min 1698.37, max 8105.73)" + "bw_mem-fcp-4mb (MB/s)","4917.06 (min 1724.63, max 8109.48)" + "bw_mem-fcp-8mb (MB/s)","4965.41 (min 1825.44, max 8105.37)" + "bw_mem-frd-16mb (MB/s)","2013.85" + "bw_mem-frd-1mb (MB/s)","1980.46 (min 1826.82, max 2134.09)" + "bw_mem-frd-2mb (MB/s)","1782.55 (min 1698.37, max 1866.72)" + "bw_mem-frd-4mb (MB/s)","1839.20 (min 1724.63, max 1953.76)" + "bw_mem-frd-8mb (MB/s)","1884.66 (min 1825.44, max 1943.87)" + "bw_mem-fwr-16mb (MB/s)","8138.35" + "bw_mem-fwr-1mb (MB/s)","5230.63 (min 2134.09, max 8327.17)" + "bw_mem-fwr-2mb (MB/s)","5055.23 (min 1866.72, max 8243.73)" + "bw_mem-fwr-4mb (MB/s)","5063.38 (min 1953.76, max 8173.00)" + "bw_mem-fwr-8mb (MB/s)","5043.18 (min 1943.87, max 8142.49)" + "bw_mem-rd-16mb (MB/s)","2075.50" + "bw_mem-rd-1mb (MB/s)","2173.92 (min 2036.31, max 2311.52)" + "bw_mem-rd-2mb (MB/s)","1942.69 (min 1860.75, max 2024.63)" + "bw_mem-rd-4mb (MB/s)","1988.88 (min 1912.35, max 2065.40)" + "bw_mem-rd-8mb (MB/s)","2004.14 (min 1949.08, max 2059.20)" + "bw_mem-rdwr-16mb (MB/s)","1988.57" + "bw_mem-rdwr-1mb (MB/s)","1458.43 (min 963.39, max 1953.47)" + "bw_mem-rdwr-2mb (MB/s)","1308.49 (min 944.73, max 1672.24)" + "bw_mem-rdwr-4mb (MB/s)","1428.10 (min 965.83, max 1890.36)" + "bw_mem-rdwr-8mb (MB/s)","1479.64 (min 1051.11, max 1908.17)" + "bw_mem-wr-16mb (MB/s)","1982.16" + "bw_mem-wr-1mb (MB/s)","1994.89 (min 1953.47, max 2036.31)" + "bw_mem-wr-2mb (MB/s)","1766.50 (min 1672.24, max 1860.75)" + "bw_mem-wr-4mb (MB/s)","1901.36 (min 1890.36, max 1912.35)" + "bw_mem-wr-8mb (MB/s)","1928.63 (min 1908.17, max 1949.08)" + "bw_mmap_rd-mo-1mb (MB/s)","2261.66" + "bw_mmap_rd-o2c-1mb (MB/s)","611.90" + "bw_pipe (MB/s)","816.85" + "bw_unix (MB/s)","1242.15" + "lat_connect (us)","56.89" + "lat_ctx-2-128k (us)","5.52" + "lat_ctx-2-256k (us)","4.50" + "lat_ctx-4-128k (us)","5.61" + "lat_ctx-4-256k (us)","4.42" + "lat_fs-0k (num_files)","245.00" + "lat_fs-10k (num_files)","127.00" + "lat_fs-1k (num_files)","171.00" + "lat_fs-4k (num_files)","170.00" + "lat_mem_rd-stride128-sz1000k (ns)","29.40" + "lat_mem_rd-stride128-sz125k (ns)","5.56" + "lat_mem_rd-stride128-sz250k (ns)","5.85" + "lat_mem_rd-stride128-sz31k (ns)","3.65" "lat_mem_rd-stride128-sz50 (ns)","2.15" - "lat_mem_rd-stride128-sz500k (ns)","11.26" - "lat_mem_rd-stride128-sz62k (ns)","5.23" - "lat_mmap-1m (us)","53.00" + "lat_mem_rd-stride128-sz500k (ns)","7.72" + "lat_mem_rd-stride128-sz62k (ns)","5.21" + "lat_mmap-1m (us)","59.00" "lat_ops-double-add (ns)","2.86" - "lat_ops-double-div (ns)","15.73" + "lat_ops-double-div (ns)","15.75" "lat_ops-double-mul (ns)","2.86" "lat_ops-float-add (ns)","2.86" "lat_ops-float-div (ns)","9.30" @@ -144,46 +142,43 @@ Execute the LMBench with the following: "lat_ops-int-add (ns)","0.72" "lat_ops-int-bit (ns)","0.48" "lat_ops-int-div (ns)","4.29" - "lat_ops-int-mod (ns)","4.53" + "lat_ops-int-mod (ns)","4.54" "lat_ops-int-mul (ns)","3.07" "lat_ops-int64-add (ns)","0.72" "lat_ops-int64-bit (ns)","0.48" "lat_ops-int64-div (ns)","6.80" "lat_ops-int64-mod (ns)","5.25" "lat_ops-int64-mul (ns)","3.55" - "lat_pagefault (us)","1.25" - "lat_pipe (us)","21.96" - "lat_proc-exec (us)","764.14" - "lat_proc-fork (us)","593.33" + "lat_pagefault (us)","1.35" + "lat_pipe (us)","23.15" + "lat_proc-exec (us)","798.57" + "lat_proc-fork (us)","622.44" "lat_proc-proccall (us)","0.01" - "lat_select (us)","35.81" - "lat_sem (us)","1.80" - "lat_sig-catch (us)","5.29" - "lat_sig-install (us)","0.65" - "lat_sig-prot (us)","0.98" - "lat_syscall-fstat (us)","1.64" + "lat_select (us)","35.08" + "lat_sem (us)","2.34" + "lat_sig-catch (us)","5.79" + "lat_sig-install (us)","0.67" + "lat_sig-prot (us)","1.17" + "lat_syscall-fstat (us)","2.04" "lat_syscall-null (us)","0.46" - "lat_syscall-open (us)","145.68" - "lat_syscall-read (us)","0.77" - "lat_syscall-stat (us)","4.16" - "lat_syscall-write (us)","0.68" + "lat_syscall-open (us)","147.05" + "lat_syscall-read (us)","0.83" + "lat_syscall-stat (us)","5.13" + "lat_syscall-write (us)","0.74" "lat_tcp (us)","0.94" - "lat_unix (us)","25.35" - "latency_for_0.50_mb_block_size (nanosec)","11.26" - "latency_for_1.00_mb_block_size (nanosec)","14.66 (min 0.00, max 29.33)" - "pipe_bandwidth (MBs)","813.43" - "pipe_latency (microsec)","21.96" + "lat_unix (us)","26.04" + "latency_for_0.50_mb_block_size (nanosec)","7.72" + "latency_for_1.00_mb_block_size (nanosec)","14.70 (min 0.00, max 29.40)" + "pipe_bandwidth (MBs)","816.85" + "pipe_latency (microsec)","23.15" "procedure_call (microsec)","0.01" - "select_on_200_tcp_fds (microsec)","35.81" - "semaphore_latency (microsec)","1.80" - "signal_handler_latency (microsec)","0.65" - "signal_handler_overhead (microsec)","5.29" - "tcp_ip_connection_cost_to_localhost (microsec)","50.07" + "select_on_200_tcp_fds (microsec)","35.08" + "semaphore_latency (microsec)","2.34" + "signal_handler_latency (microsec)","0.67" + "signal_handler_overhead (microsec)","5.79" + "tcp_ip_connection_cost_to_localhost (microsec)","56.89" "tcp_latency_using_localhost (microsec)","0.94" - - - Dhrystone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dhrystone is a core only benchmark that runs from warm L1 caches in all @@ -193,7 +188,6 @@ Please take note, different run may produce different slightly results. This is advised to run this test multiple times in order to get maximum performance numbers. - Execute the benchmark with the following: :: @@ -207,9 +201,6 @@ Execute the benchmark with the following: "dhrystone_per_mhz (DMIPS/MHz)","2.90" "dhrystone_per_second (DhrystoneP)","7142857.00" - - - Whetstone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Whetstone is a benchmark primarily measuring floating-point arithmetic performance. @@ -223,10 +214,7 @@ Execute the benchmark with the following: .. csv-table:: Whetstone Benchmarks :header: "Benchmarks","am62pxx_sk-fs: perf" - "whetstone (MIPS)","5000.00" - - - + "whetstone (MIPS)","10000.00" Linpack ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,10 +224,7 @@ solving a dense linear system. .. csv-table:: Linpack Benchmarks :header: "Benchmarks","am62pxx_sk-fs: perf" - "linpack (Kflops)","577128.00" - - - + "linpack (Kflops)","577468.00" NBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -252,19 +237,16 @@ https://nbench.io/articles/index.html .. csv-table:: NBench Benchmarks :header: "Benchmarks","am62pxx_sk-fs: perf" - "assignment (Iterations)","14.47" - "fourier (Iterations)","22833.00" - "fp_emulation (Iterations)","215.65" - "huffman (Iterations)","1183.60" - "idea (Iterations)","3444.70" - "lu_decomposition (Iterations)","526.69" - "neural_net (Iterations)","8.66" - "numeric_sort (Iterations)","616.00" + "assignment (Iterations)","14.49" + "fourier (Iterations)","22832.00" + "fp_emulation (Iterations)","215.66" + "huffman (Iterations)","1184.10" + "idea (Iterations)","3444.90" + "lu_decomposition (Iterations)","527.85" + "neural_net (Iterations)","8.65" + "numeric_sort (Iterations)","623.80" "string_sort (Iterations)","163.93" - - - Stream ^^^^^^^^^^^^^^^^^^^^^^^^^^^ STREAM is a microbenchmark for measuring data memory system performance without @@ -286,13 +268,10 @@ Execute the benchmark with the following: .. csv-table:: Stream Benchmarks :header: "Benchmarks","am62pxx_sk-fs: perf" - "add (MB/s)","2891.10" - "copy (MB/s)","4048.10" - "scale (MB/s)","3716.50" - "triad (MB/s)","2541.40" - - - + "add (MB/s)","1876.80" + "copy (MB/s)","3174.00" + "scale (MB/s)","2366.10" + "triad (MB/s)","1732.90" CoreMarkPro ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -302,41 +281,33 @@ While CoreMark stresses the CPU pipeline, CoreMark-Pro tests the entire processo adding comprehensive support for multicore technology, a combination of integer and floating-point workloads, and data sets for utilizing larger memory subsystems. - .. csv-table:: CoreMarkPro Benchmarks :header: "Benchmarks","am62pxx_sk-fs: perf" "cjpeg-rose7-preset (workloads/)","42.02" "core (workloads/)","0.30" - "coremark-pro ()","944.14" + "coremark-pro ()","946.22" "linear_alg-mid-100x100-sp (workloads/)","14.68" "loops-all-mid-10k-sp (workloads/)","0.72" "nnet_test (workloads/)","1.09" - "parser-125k (workloads/)","8.93" - "radix2-big-64k (workloads/)","71.46" + "parser-125k (workloads/)","8.77" + "radix2-big-64k (workloads/)","74.22" "sha-test (workloads/)","81.97" "zip-test (workloads/)","22.22" - - - .. csv-table:: CoreMarkProTwoCore Benchmarks :header: "Benchmarks","am62pxx_sk-fs: perf" - "cjpeg-rose7-preset (workloads/)","83.33" - "core (workloads/)","0.60" - "coremark-pro ()","1691.80" - "linear_alg-mid-100x100-sp (workloads/)","29.34" - "loops-all-mid-10k-sp (workloads/)","1.32" - "nnet_test (workloads/)","2.17" - "parser-125k (workloads/)","14.71" - "radix2-big-64k (workloads/)","72.98" - "sha-test (workloads/)","163.93" - "zip-test (workloads/)","43.48" - - - - + "cjpeg-rose7-preset (workloads/)","47.62" + "core (workloads/)","0.34" + "coremark-pro ()","997.73" + "linear_alg-mid-100x100-sp (workloads/)","16.74" + "loops-all-mid-10k-sp (workloads/)","0.78" + "nnet_test (workloads/)","1.24" + "parser-125k (workloads/)","8.47" + "radix2-big-64k (workloads/)","53.48" + "sha-test (workloads/)","93.46" + "zip-test (workloads/)","25.00" MultiBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -358,62 +329,46 @@ thread-enabled workloads to be tested. .. csv-table:: Multibench Benchmarks :header: "Benchmarks","am62pxx_sk-fs: perf" - "4m-check (workloads/)","436.61" - "4m-check-reassembly (workloads/)","127.55" - "4m-check-reassembly-tcp (workloads/)","61.12" - "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","33.80" - "4m-check-reassembly-tcp-x264w2 (workloads/)","1.93" - "4m-cmykw2 (workloads/)","243.61" - "4m-cmykw2-rotatew2 (workloads/)","51.37" - "4m-reassembly (workloads/)","86.88" - "4m-rotatew2 (workloads/)","53.97" - "4m-tcp-mixed (workloads/)","118.52" - "4m-x264w2 (workloads/)","1.95" - "idct-4m (workloads/)","19.30" - "idct-4mw1 (workloads/)","19.30" - "ippktcheck-4m (workloads/)","435.46" - "ippktcheck-4mw1 (workloads/)","436.45" - "ipres-4m (workloads/)","116.28" - "ipres-4mw1 (workloads/)","116.55" - "md5-4m (workloads/)","29.34" - "md5-4mw1 (workloads/)","29.42" - "rgbcmyk-4m (workloads/)","62.93" - "rgbcmyk-4mw1 (workloads/)","62.81" - "rotate-4ms1 (workloads/)","24.17" - "rotate-4ms1w1 (workloads/)","24.08" - "rotate-4ms64 (workloads/)","24.47" - "rotate-4ms64w1 (workloads/)","24.41" + "4m-check (workloads/)","417.57" + "4m-check-reassembly (workloads/)","120.92" + "4m-check-reassembly-tcp (workloads/)","59.10" + "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","33.50" + "4m-check-reassembly-tcp-x264w2 (workloads/)","1.91" + "4m-cmykw2 (workloads/)","247.22" + "4m-cmykw2-rotatew2 (workloads/)","49.75" + "4m-reassembly (workloads/)","81.37" + "4m-rotatew2 (workloads/)","53.19" + "4m-tcp-mixed (workloads/)","119.40" + "4m-x264w2 (workloads/)","1.96" + "idct-4m (workloads/)","19.25" + "idct-4mw1 (workloads/)","19.26" + "ippktcheck-4m (workloads/)","418.55" + "ippktcheck-4mw1 (workloads/)","418.48" + "ipres-4m (workloads/)","111.36" + "ipres-4mw1 (workloads/)","110.78" + "md5-4m (workloads/)","28.91" + "md5-4mw1 (workloads/)","29.00" + "rgbcmyk-4m (workloads/)","65.77" + "rgbcmyk-4mw1 (workloads/)","65.81" + "rotate-4ms1 (workloads/)","23.40" + "rotate-4ms1w1 (workloads/)","23.44" + "rotate-4ms64 (workloads/)","23.63" + "rotate-4ms64w1 (workloads/)","23.65" "x264-4mq (workloads/)","0.58" "x264-4mqw1 (workloads/)","0.58" - - - - - - - -| - Boot-time Measurement -------------------------- +--------------------- Boot media: MMCSD -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. csv-table:: Boot time MMCSD - :header: "Boot Configuration","am62pxx_sk-fs: boot time (sec)" +^^^^^^^^^^^^^^^^^ - "Kernel boot time test when bootloader, kernel and sdk-rootfs are in mmc-sd","14.46 (min 14.10, max 14.85)" - "Kernel boot time test when init is /bin/sh and bootloader, kernel and sdk-rootfs are in mmc-sd","4.43 (min 4.38, max 4.48)" - "kernel boot time test when bootloader, kernel and sdk-rootfs are in mmc-sd","16.23 (min 16.08, max 16.43)" - - - - - +.. csv-table:: Linux boot time MMCSD + :header: "Boot Configuration","am62pxx_sk-fs: Boot time in seconds: avg(min,max)" + "Linux boot time from SD with default rootfs (20 boot cycles)","15.73 (min 15.10, max 16.07)" +Boot time numbers [avg, min, max] are measured from "Starting kernel" to Linux prompt across 20 boot cycles. | @@ -425,39 +380,25 @@ ALSA SoC Audio Driver #. Format - S16\_LE #. Period size - 64 - .. csv-table:: Audio Capture :header: "Sampling Rate (Hz)","am62pxx_sk-fs: Throughput (bits/sec)","am62pxx_sk-fs: CPU Load (%)" - "8000","255997.00","0.09" - "11025","352797.00","0.14" - "16000","511997.00","0.09" - "22050","705595.00","0.25" - "24000","705593.00","0.23" - "32000","1023988.00","0.51" - "44100","1411184.00","0.41" - "48000","1535984.00","0.84" - "88200","2822368.00","0.74" - "96000","3071965.00","1.72" - - - - - - - - - - - + "8000","255997.00","0.10" + "11025","352797.00","0.13" + "16000","511996.00","0.09" + "22050","705595.00","0.24" + "24000","705594.00","0.24" + "32000","1023990.00","0.14" + "44100","1411186.00","0.38" + "48000","1535986.00","0.19" + "88200","2822372.00","0.82" + "96000","3071969.00","1.99" | Graphics SGX/RGX Driver ------------------------- - - GFXBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Run GFXBench and capture performance reported (Score and Display rate in fps). All display outputs (HDMI, Displayport and/or LCD) are connected when running these tests @@ -465,13 +406,10 @@ Run GFXBench and capture performance reported (Score and Display rate in fps). A .. csv-table:: GFXBench Performance :header: "Benchmark","am62pxx_sk-fs: Score","am62pxx_sk-fs: Fps" - " GFXBench 3.x gl_manhattan_off","918.13","14.81" - " GFXBench 3.x gl_trex_off","1590.73","28.41" - " GFXBench 4.x gl_4_off","263.52","4.46" - " GFXBench 5.x gl_5_high_off","113.87","1.77" - - - + " GFXBench 3.x gl_manhattan_off","912.45","14.72" + " GFXBench 3.x gl_trex_off","1585.91","28.32" + " GFXBench 4.x gl_4_off","261.99","4.43" + " GFXBench 5.x gl_5_high_off","113.71","1.77" Glmark2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -482,16 +420,7 @@ Run Glmark2 and capture performance reported (Score). All display outputs (HDMI, :header: "Benchmark","am62pxx_sk-fs: Score" "Glmark2-DRM","309.00" - "Glmark2-Wayland","794.00" - - - - - - - - - + "Glmark2-Wayland","782.00" | @@ -562,23 +491,18 @@ Running the following commands will trigger netperf clients to measure UDP burst netperf -H -j -C -l 60 -t UDP_STREAM -b -w -- -m -k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE - CPSW/CPSW2g/CPSW3g Ethernet Driver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - CPSW3g: AM62px - .. rubric:: TCP Bidirectional Throughput :name: CPSW2g-tcp-bidirectional-throughput .. csv-table:: CPSW2g TCP Bidirectional Throughput :header: "Command Used","am62pxx_sk-fs: THROUGHPUT (Mbits/sec)","am62pxx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1772.82","58.57" - - - + "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1731.05","62.00" .. rubric:: TCP Bidirectional Throughput Interrupt Pacing :name: CPSW2g-tcp-bidirectional-throughput-interrupt-pacing @@ -586,55 +510,38 @@ CPSW/CPSW2g/CPSW3g Ethernet Driver .. csv-table:: CPSW2g TCP Bidirectional Throughput Interrupt Pacing :header: "Command Used","am62pxx_sk-fs: THROUGHPUT (Mbits/sec)","am62pxx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1854.00","37.39" - - - - + "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1840.85","37.62" +.. rubric:: UDP Throughput + :name: CPSW2g-udp-throughput-0-loss +.. csv-table:: CPSW2g UDP Egress Throughput 0 loss + :header: "Frame Size(bytes)","am62pxx_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62pxx_sk-fs: THROUGHPUT (Mbits/sec)","am62pxx_sk-fs: Packets Per Second (kPPS)","am62pxx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - - - - - - - - - - - - - + "64","18.00","16.16","112.00","39.62" + "128","82.00","72.51","111.00","39.64" + "256","210.00","184.86","110.00","39.48" + "1024","978.00","899.23","115.00","44.49" + "1518","1472.00","956.71","81.00","31.44" | Linux OSPI Flash Driver ------------------------- - - - - - AM62PXX-SK ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - UBIFS """"""""""""""""""""""""""" .. csv-table:: OSPI Flash Driver :header: "Buffer size (bytes)","am62pxx_sk-fs: Write UBIFS Throughput (Mbytes/sec)","am62pxx_sk-fs: Write UBIFS CPU Load (%)","am62pxx_sk-fs: Read UBIFS Throughput (Mbytes/sec)","am62pxx_sk-fs: Read UBIFS CPU Load (%)" - "102400","0.18 (min 0.13, max 0.28)","14.12 (min 13.22, max 14.70)","28.63","6.67" - "262144","0.16 (min 0.11, max 0.19)","13.98 (min 13.38, max 14.41)","28.56","12.50" - "524288","0.15 (min 0.11, max 0.19)","12.19 (min 11.31, max 13.62)","28.33","3.45" - "1048576","0.16 (min 0.11, max 0.19)","13.34 (min 11.79, max 14.39)","28.14","10.00" - - - + "102400","0.18 (min 0.13, max 0.28)","13.09 (min 11.87, max 14.11)","28.67","6.90" + "262144","0.15 (min 0.11, max 0.19)","12.87 (min 11.47, max 14.01)","28.65","10.00" + "524288","0.15 (min 0.11, max 0.19)","13.33 (min 10.92, max 15.20)","28.61","12.50" + "1048576","0.15 (min 0.11, max 0.19)","13.52 (min 11.60, max 15.26)","28.34","10.00" RAW """"""""""""""""""""""""""" @@ -642,437 +549,231 @@ RAW .. csv-table:: OSPI Raw Flash Driver :header: "File size (Mbytes)","am62pxx_sk-fs: Raw Read Throughput (Mbytes/sec)" - "50","37.59" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| + "50","37.88" EMMC Driver -------------------------- - -.. warning:: +----------- +.. important:: - **IMPORTANT**: The performance numbers can be severely affected if the media is + 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. - - - - - - - - - - - - - - - - - - -AM62PXX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +EMMC EXT4 FIO 1G +^^^^^^^^^^^^^^^^ .. csv-table:: EMMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62pxx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62pxx_sk-fs: Write EXT4 CPU Load (%)","am62pxx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62pxx_sk-fs: Read EXT4 CPU Load (%)" - "1m","90.20","1.46","285.00","2.24" - "4m","96.40","1.03","287.00","2.10" - "4k","78.90","23.50","91.20","19.73" - "256k","90.30","1.77","288.00","3.76" - - - - - - - - - - - + "1m","91.50","2.28","289.00","4.43" + "4m","97.50","1.64","288.00","3.63" + "4k","78.60","33.12","92.30","30.52" + "256k","91.30","2.80","287.00","5.93" +EMMC RAW FIO 1G +^^^^^^^^^^^^^^^ +.. csv-table:: EMMC RAW FIO 1G + :header: "Buffer size (bytes)","am62pxx_sk-fs: Write Raw Throughput (Mbytes/sec)","am62pxx_sk-fs: Write Raw CPU Load (%)","am62pxx_sk-fs: Read Raw Throughput (Mbytes/sec)","am62pxx_sk-fs: Read Raw CPU Load (%)" + "1m","91.40","1.46","293.00","2.84" + "4m","97.70","1.03","150.00","1.27" + "4k","73.20","10.75","74.50","10.06" + "256k","91.30","1.67","293.00","4.09" +EMMC EXT4 +^^^^^^^^^ +.. csv-table:: EMMC EXT4 + :header: "Buffer size (bytes)","am62pxx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62pxx_sk-fs: Write EXT4 CPU Load (%)","am62pxx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62pxx_sk-fs: Read EXT4 CPU Load (%)" + "102400","68.60 (min 50.94, max 73.14)","4.85 (min 4.72, max 4.90)","131.58","7.81" + "262144","60.52 (min 42.63, max 73.77)","4.51 (min 2.94, max 6.97)","178.25","10.97" + "524288","61.34 (min 42.90, max 73.64)","4.53 (min 2.77, max 7.10)","101.57","5.81" + "1048576","61.38 (min 42.59, max 75.22)","4.48 (min 3.04, max 6.62)","127.76","6.13" + "5242880","61.57 (min 42.50, max 73.83)","4.57 (min 2.74, max 7.04)","133.97","7.30" - - +EMMC VFAT +^^^^^^^^^ +.. csv-table:: EMMC VFAT + :header: "Buffer size (bytes)","am62pxx_sk-fs: Write VFAT Throughput (Mbytes/sec)","am62pxx_sk-fs: Write VFAT CPU Load (%)","am62pxx_sk-fs: Read VFAT Throughput (Mbytes/sec)","am62pxx_sk-fs: Read VFAT CPU Load (%)" - -| + "102400","37.66 (min 11.58, max 47.12)","4.45 (min 3.35, max 4.95)","142.56","8.14" + "262144","43.19 (min 11.44, max 60.84)","5.96 (min 4.35, max 7.06)","263.29","16.88" + "524288","45.51 (min 12.51, max 64.59)","4.99 (min 3.85, max 6.03)","185.39","8.64" + "1048576","45.58 (min 12.18, max 65.61)","4.50 (min 3.37, max 5.51)","186.57","9.05" + "5242880","47.38 (min 12.30, max 69.10)","4.74 (min 3.33, max 6.00)","188.52","10.31" UBoot EMMC Driver -------------------------- - - - - - - -AM62PXX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +----------------- .. csv-table:: UBOOT EMMC RAW :header: "File size (bytes in hex)","am62pxx_sk-fs: Write Throughput (Kbytes/sec)","am62pxx_sk-fs: Read Throughput (Kbytes/sec)" - "2000000","97814.93","270809.92" - "4000000","96518.41","281270.39" - - - - - - - - - - - - - - - - + "2000000","97523.81","248242.42" + "4000000","100207.95","267493.88" +MMCSD +----- +.. important:: - - - - - - - - - - - - - - -| - -MMC/SD Driver -------------------------- - -.. warning:: - - **IMPORTANT**: The performance numbers can be severely affected if the media is + 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. - - - - - - - - - - - - - - - - - - - - - -AM62PXX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +MMC EXT4 FIO 1G +^^^^^^^^^^^^^^^ .. csv-table:: MMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62pxx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62pxx_sk-fs: Write EXT4 CPU Load (%)","am62pxx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62pxx_sk-fs: Read EXT4 CPU Load (%)" - "1m","42.60","0.96","84.90","0.87" - "4m","42.30","0.70","85.00","0.87" - "4k","2.82","1.49","13.60","4.19" - "256k","37.50","1.08","84.10","1.35" - - - - - - - - - - - - - - - - - - - - - - - - - - + "1m","40.80","1.02","85.10","1.21" + "4m","39.80","0.68","84.70","1.01" + "4k","2.81","1.40","13.70","4.53" + "256k","37.80","1.11","84.30","1.49" +MMC RAW FIO 1G +^^^^^^^^^^^^^^ +.. csv-table:: MMC RAW FIO 1G + :header: "Buffer size (bytes)","am62pxx_sk-fs: Write Raw Throughput (Mbytes/sec)","am62pxx_sk-fs: Write Raw CPU Load (%)","am62pxx_sk-fs: Read Raw Throughput (Mbytes/sec)","am62pxx_sk-fs: Read Raw CPU Load (%)" + "1m","43.20","1.33","88.10","1.87" + "4m","43.10","1.10","88.10","1.45" + "4k","3.56","2.40","16.60","7.99" + "256k","39.90","1.47","86.10","2.20" +MMC EXT4 +^^^^^^^^ +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am62pxx_sk-fs: Write Raw Throughput (Mbytes/sec)","am62pxx_sk-fs: Write Raw CPU Load (%)","am62pxx_sk-fs: Read Raw Throughput (Mbytes/sec)","am62pxx_sk-fs: Read Raw CPU Load (%)" - - - - - - - - - - - - - - + "102400","9.88 (min 9.65, max 10.41)","0.77 (min 0.67, max 1.07)","11.09","0.69" + "262144","10.40 (min 10.14, max 10.83)","0.90 (min 0.70, max 1.39)","11.15","0.69" + "524288","10.60 (min 10.53, max 10.74)","0.81 (min 0.65, max 1.16)","11.25","0.54" + "1048576","10.32 (min 10.11, max 10.63)","0.81 (min 0.68, max 1.04)","11.06","0.61" + "5242880","11.00 (min 10.77, max 11.12)","0.83 (min 0.69, max 1.15)","12.01","0.57" The performance numbers were captured using the following: -- SanDisk 8GB MicroSDHC Class 10 Memory Card +- SanDisk Max Endurance SD card (SDSQQVR-032G-GN6IA) - Partition was mounted with async option - - - - -| - -UBoot MMC/SD Driver -------------------------- - - - +UBoot MMCSD +----------- - -AM62PXX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +UBOOT MMCSD FAT +^^^^^^^^^^^^^^^ .. csv-table:: UBOOT MMCSD FAT :header: "File size (bytes in hex)","am62pxx_sk-fs: Write Throughput (Kbytes/sec)","am62pxx_sk-fs: Read Throughput (Kbytes/sec)" - "400000","37236.36","59362.32" - "800000","45765.36","72495.58" - "1000000","48617.21","81108.91" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + "400000","37236.36","71859.65" + "800000","46022.47","81108.91" + "1000000","47216.14","86231.58" +The performance numbers were captured using the following: +- SanDisk Max Endurance SD card (SDSQQVR-032G-GN6IA) | USB Driver ------------------------- - - USB Device Controller ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - - - - - - - .. csv-table:: USBDEVICE HIGHSPEED SLAVE_READ_THROUGHPUT :header: "Number of Blocks","am62pxx_sk-fs: Throughput (MB/sec)" - "150","37.60" - - - + "150","34.50" .. csv-table:: USBDEVICE HIGHSPEED SLAVE_WRITE_THROUGHPUT :header: "Number of Blocks","am62pxx_sk-fs: Throughput (MB/sec)" - "150","32.40" - - - - - - - - - - + "150","28.10" | CRYPTO Driver ------------------------- - OpenSSL Performance ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. csv-table:: OpenSSL Performance :header: "Algorithm","Buffer Size (in bytes)","am62pxx_sk-fs: throughput (KBytes/Sec)" - "aes-128-cbc","1024","25761.79" - "aes-128-cbc","16","468.65" - "aes-128-cbc","16384","87577.94" - "aes-128-cbc","256","7765.33" - "aes-128-cbc","64","2058.18" - "aes-128-cbc","8192","74989.57" - "aes-128-ecb","1024","26237.95" - "aes-128-ecb","16","475.15" - "aes-128-ecb","16384","90248.53" - "aes-128-ecb","256","8015.02" - "aes-128-ecb","64","2108.48" - "aes-128-ecb","8192","77111.30" - "aes-192-cbc","1024","25433.43" - "aes-192-cbc","16","461.86" - "aes-192-cbc","16384","78566.74" - "aes-192-cbc","256","7644.25" - "aes-192-cbc","64","1945.69" - "aes-192-cbc","8192","68698.11" - "aes-192-ecb","1024","25913.34" - "aes-192-ecb","16","474.18" - "aes-192-ecb","16384","81264.64" - "aes-192-ecb","256","7905.45" - "aes-192-ecb","64","2107.88" - "aes-192-ecb","8192","70653.27" - "aes-256-cbc","1024","24602.28" - "aes-256-cbc","16","467.03" - "aes-256-cbc","16384","71696.38" - "aes-256-cbc","256","7622.49" - "aes-256-cbc","64","2066.65" - "aes-256-cbc","8192","63457.96" - "aes-256-ecb","1024","25231.70" - "aes-256-ecb","16","476.09" - "aes-256-ecb","16384","74011.99" - "aes-256-ecb","256","7842.39" - "aes-256-ecb","64","2098.94" - "aes-256-ecb","8192","65126.40" - "sha256","1024","34277.72" - "sha256","16","573.53" - "sha256","16384","273716.57" - "sha256","256","8973.06" - "sha256","64","2288.19" - "sha256","8192","185611.61" - "sha512","1024","24480.09" - "sha512","16","564.82" - "sha512","16384","67807.91" - "sha512","256","8025.94" - "sha512","64","2264.26" - "sha512","8192","60511.57" - - - + "aes-128-cbc","1024","17659.22" + "aes-128-cbc","16","294.87" + "aes-128-cbc","16384","77081.26" + "aes-128-cbc","256","5147.73" + "aes-128-cbc","64","1305.37" + "aes-128-cbc","8192","62117.21" + "aes-128-ecb","1024","17919.66" + "aes-128-ecb","16","300.60" + "aes-128-ecb","16384","79205.72" + "aes-128-ecb","256","5244.59" + "aes-128-ecb","64","1334.36" + "aes-128-ecb","8192","63589.03" + "aes-192-cbc","1024","17438.72" + "aes-192-cbc","16","295.00" + "aes-192-cbc","16384","70429.35" + "aes-192-cbc","256","5156.01" + "aes-192-cbc","64","1305.26" + "aes-192-cbc","8192","57969.32" + "aes-192-ecb","1024","17724.07" + "aes-192-ecb","16","299.00" + "aes-192-ecb","16384","72045.91" + "aes-192-ecb","256","5219.33" + "aes-192-ecb","64","1328.51" + "aes-192-ecb","8192","58829.48" + "aes-256-cbc","1024","17347.24" + "aes-256-cbc","16","294.71" + "aes-256-cbc","16384","64481.96" + "aes-256-cbc","256","5137.75" + "aes-256-cbc","64","1301.85" + "aes-256-cbc","8192","54061.74" + "aes-256-ecb","1024","17631.57" + "aes-256-ecb","16","299.74" + "aes-256-ecb","16384","66027.52" + "aes-256-ecb","256","5219.84" + "aes-256-ecb","64","1331.84" + "aes-256-ecb","8192","55323.31" + "sha256","1024","19539.63" + "sha256","16","325.38" + "sha256","16384","157750.61" + "sha256","256","5084.33" + "sha256","64","1286.27" + "sha256","8192","107025.75" + "sha512","1024","13944.49" + "sha512","16","319.83" + "sha512","16384","38677.16" + "sha512","256","4573.70" + "sha512","64","1279.77" + "sha512","8192","34559.32" .. csv-table:: OpenSSL CPU Load :header: "Algorithm","am62pxx_sk-fs: CPU Load" - "aes-128-cbc","34.00" - "aes-128-ecb","35.00" - "aes-192-cbc","33.00" - "aes-192-ecb","34.00" - "aes-256-cbc","33.00" - "aes-256-ecb","34.00" - "sha256","98.00" - "sha512","98.00" - - + "aes-128-cbc","38.00" + "aes-128-ecb","39.00" + "aes-192-cbc","38.00" + "aes-192-ecb","39.00" + "aes-256-cbc","37.00" + "aes-256-ecb","38.00" + "sha256","97.00" + "sha512","97.00" -Listed for each algorithm are the code snippets used to run each - benchmark test. +Listed for each algorithm are the code snippets used to run each benchmark test. :: diff --git a/source/devices/AM62PX/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM62PX/linux/RT_Linux_Performance_Guide.rst index b00ba8ae4..c00e4459e 100644 --- a/source/devices/AM62PX/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM62PX/linux/RT_Linux_Performance_Guide.rst @@ -1,6 +1,6 @@ -=========================== - RT-linux Performance Guide -=========================== +====================================== + RT-linux 10.01 Performance Guide +====================================== .. rubric:: **Read This First** @@ -28,10 +28,14 @@ with drivers included in a particular release. .. rubric:: If You Need Assistance For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ +https://e2e.ti.com/ or https://support.ti.com/ + +| + +System Benchmarks +------------------------- Stress-ng and Cyclic Test -^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _RT-linux-performance: diff --git a/source/devices/AM62X/linux/Linux_Performance_Guide.rst b/source/devices/AM62X/linux/Linux_Performance_Guide.rst index 408f1922a..3f6ad8d1a 100644 --- a/source/devices/AM62X/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62X/linux/Linux_Performance_Guide.rst @@ -1,6 +1,6 @@ ====================================== - Linux 10.00 Performance Guide + Linux 10.01 Performance Guide ====================================== .. rubric:: **Read This First** @@ -34,20 +34,18 @@ with drivers included in a particular release. :name: if-you-need-assistance-kernel-perf-guide For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ - +https://e2e.ti.com/ or https://support.ti.com/ System Benchmarks ------------------- - LMBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ LMBench is a collection of microbenchmarks of which the memory bandwidth and latency related ones are typically used to estimate processor memory system performance. More information about lmbench at -http://lmbench.sourceforge.net/whatis_lmbench.html and -http://lmbench.sourceforge.net/man/lmbench.8.html +https://lmbench.sourceforge.net/whatis_lmbench.html and +https://lmbench.sourceforge.net/man/lmbench.8.html **Latency**: lat_mem_rd-stride128-szN, where N is equal to or smaller than the cache size at given level measures the cache miss penalty. N that is at least @@ -69,124 +67,121 @@ Execute the LMBench with the following: .. csv-table:: LMBench Benchmarks :header: "Benchmarks","am62xx_lp_sk-fs: perf","am62xx_sk-fs: perf","am62xxsip_sk-fs: perf" - "af_unix_sock_stream_latency (microsec)","27.25","24.81","26.57" - "af_unix_socket_stream_bandwidth (MBs)","572.01","633.32","1152.05" - "bw_file_rd-io-1mb (MB/s)","770.30","876.42","1045.11" - "bw_file_rd-o2c-1mb (MB/s)","436.94","525.03","612.56" - "bw_mem-bcopy-16mb (MB/s)","655.71","756.89","859.01" - "bw_mem-bcopy-1mb (MB/s)","685.17","794.91","981.93" - "bw_mem-bcopy-2mb (MB/s)","675.90","765.21","890.87" - "bw_mem-bcopy-4mb (MB/s)","685.52","766.58","849.98" - "bw_mem-bcopy-8mb (MB/s)","686.75","799.92","921.66" - "bw_mem-bzero-16mb (MB/s)","1691.87","1744.82","2129.36" - "bw_mem-bzero-1mb (MB/s)","1175.78 (min 685.17, max 1666.39)","1263.86 (min 794.91, max 1732.80)","1556.12 (min 981.93, max 2130.30)" - "bw_mem-bzero-2mb (MB/s)","1170.73 (min 675.90, max 1665.56)","1252.78 (min 765.21, max 1740.34)","1510.02 (min 890.87, max 2129.17)" - "bw_mem-bzero-4mb (MB/s)","1175.52 (min 685.52, max 1665.51)","1250.72 (min 766.58, max 1734.86)","1489.77 (min 849.98, max 2129.55)" - "bw_mem-bzero-8mb (MB/s)","1181.60 (min 686.75, max 1676.45)","1272.66 (min 799.92, max 1745.39)","1525.65 (min 921.66, max 2129.64)" - "bw_mem-cp-16mb (MB/s)","383.29","447.15","510.43" - "bw_mem-cp-1mb (MB/s)","1091.89 (min 378.12, max 1805.65)","1161.34 (min 446.50, max 1876.17)","1393.17 (min 501.50, max 2284.84)" - "bw_mem-cp-2mb (MB/s)","1056.55 (min 366.37, max 1746.72)","1120.09 (min 424.63, max 1815.54)","1361.20 (min 506.33, max 2216.07)" - "bw_mem-cp-4mb (MB/s)","1041.93 (min 367.11, max 1716.74)","1102.99 (min 420.79, max 1785.18)","1330.54 (min 491.10, max 2169.98)" - "bw_mem-cp-8mb (MB/s)","1061.00 (min 421.50, max 1700.50)","1129.75 (min 483.88, max 1775.61)","1331.79 (min 505.78, max 2157.79)" - "bw_mem-fcp-16mb (MB/s)","663.49","743.11","968.05" - "bw_mem-fcp-1mb (MB/s)","1223.52 (min 780.64, max 1666.39)","1306.47 (min 880.13, max 1732.80)","1561.27 (min 992.23, max 2130.30)" - "bw_mem-fcp-2mb (MB/s)","1193.86 (min 722.15, max 1665.56)","1259.08 (min 777.81, max 1740.34)","1531.88 (min 934.58, max 2129.17)" - "bw_mem-fcp-4mb (MB/s)","1212.19 (min 758.87, max 1665.51)","1316.77 (min 898.67, max 1734.86)","1526.09 (min 922.62, max 2129.55)" - "bw_mem-fcp-8mb (MB/s)","1221.96 (min 767.46, max 1676.45)","1293.57 (min 841.75, max 1745.39)","1553.52 (min 977.40, max 2129.64)" - "bw_mem-frd-16mb (MB/s)","968.11","1105.35","1377.53" - "bw_mem-frd-1mb (MB/s)","952.86 (min 780.64, max 1125.07)","1076.78 (min 880.13, max 1273.42)","1282.28 (min 992.23, max 1572.33)" - "bw_mem-frd-2mb (MB/s)","859.83 (min 722.15, max 997.51)","947.15 (min 777.81, max 1116.49)","1127.03 (min 934.58, max 1319.48)" - "bw_mem-frd-4mb (MB/s)","884.87 (min 758.87, max 1010.87)","1007.37 (min 898.67, max 1116.07)","1150.85 (min 922.62, max 1379.07)" - "bw_mem-frd-8mb (MB/s)","891.73 (min 767.46, max 1016.00)","975.43 (min 841.75, max 1109.11)","1174.57 (min 977.40, max 1371.74)" - "bw_mem-fwr-16mb (MB/s)","1698.51","1771.09","2139.90" - "bw_mem-fwr-1mb (MB/s)","1465.36 (min 1125.07, max 1805.65)","1574.80 (min 1273.42, max 1876.17)","1928.59 (min 1572.33, max 2284.84)" - "bw_mem-fwr-2mb (MB/s)","1372.12 (min 997.51, max 1746.72)","1466.02 (min 1116.49, max 1815.54)","1767.78 (min 1319.48, max 2216.07)" - "bw_mem-fwr-4mb (MB/s)","1363.81 (min 1010.87, max 1716.74)","1450.63 (min 1116.07, max 1785.18)","1774.53 (min 1379.07, max 2169.98)" - "bw_mem-fwr-8mb (MB/s)","1358.25 (min 1016.00, max 1700.50)","1442.36 (min 1109.11, max 1775.61)","1764.77 (min 1371.74, max 2157.79)" - "bw_mem-rd-16mb (MB/s)","1032.52","1137.90","1381.57" - "bw_mem-rd-1mb (MB/s)","855.42 (min 532.58, max 1178.25)","986.70 (min 672.27, max 1301.12)","1166.52 (min 751.31, max 1581.72)" - "bw_mem-rd-2mb (MB/s)","754.43 (min 479.16, max 1029.69)","852.69 (min 576.70, max 1128.67)","1033.96 (min 678.54, max 1389.37)" - "bw_mem-rd-4mb (MB/s)","786.05 (min 550.51, max 1021.58)","918.19 (min 707.71, max 1128.67)","1039.92 (min 700.53, max 1379.31)" - "bw_mem-rd-8mb (MB/s)","828.69 (min 632.66, max 1024.72)","942.82 (min 755.22, max 1130.42)","1051.50 (min 724.64, max 1378.36)" - "bw_mem-rdwr-16mb (MB/s)","675.62","744.67","746.27" - "bw_mem-rdwr-1mb (MB/s)","463.99 (min 378.12, max 549.85)","538.56 (min 446.50, max 630.62)","616.99 (min 501.50, max 732.47)" - "bw_mem-rdwr-2mb (MB/s)","422.77 (min 366.37, max 479.16)","491.49 (min 424.63, max 558.35)","590.78 (min 506.33, max 675.22)" - "bw_mem-rdwr-4mb (MB/s)","463.75 (min 367.11, max 560.38)","529.94 (min 420.79, max 639.08)","594.59 (min 491.10, max 698.08)" - "bw_mem-rdwr-8mb (MB/s)","526.41 (min 421.50, max 631.31)","614.00 (min 483.88, max 744.12)","612.90 (min 505.78, max 720.01)" - "bw_mem-wr-16mb (MB/s)","658.27","838.53","743.53" - "bw_mem-wr-1mb (MB/s)","541.22 (min 532.58, max 549.85)","651.45 (min 630.62, max 672.27)","741.89 (min 732.47, max 751.31)" - "bw_mem-wr-2mb (MB/s)","479.16","567.53 (min 558.35, max 576.70)","676.88 (min 675.22, max 678.54)" - "bw_mem-wr-4mb (MB/s)","555.45 (min 550.51, max 560.38)","673.40 (min 639.08, max 707.71)","699.31 (min 698.08, max 700.53)" - "bw_mem-wr-8mb (MB/s)","631.99 (min 631.31, max 632.66)","749.67 (min 744.12, max 755.22)","722.33 (min 720.01, max 724.64)" - "bw_mmap_rd-mo-1mb (MB/s)","1160.29","1280.18","1567.94" - "bw_mmap_rd-o2c-1mb (MB/s)","421.23","486.78","505.39" - "bw_pipe (MB/s)","462.85","506.12","693.65" - "bw_unix (MB/s)","572.01","633.32","1152.05" - "lat_connect (us)","59.88","52.95","51.47" - "lat_ctx-2-128k (us)","7.18","6.48","6.51" - "lat_ctx-2-256k (us)","6.10","7.26","6.18" - "lat_ctx-4-128k (us)","7.38","5.62","6.18" - "lat_ctx-4-256k (us)","6.99","7.33","4.23" - "lat_fs-0k (num_files)","240.00","272.00","286.00" - "lat_fs-10k (num_files)","103.00","108.00","125.00" - "lat_fs-1k (num_files)","146.00","154.00","193.00" - "lat_fs-4k (num_files)","124.00","184.00","166.00" - "lat_mem_rd-stride128-sz1000k (ns)","57.65","52.61","43.16" - "lat_mem_rd-stride128-sz125k (ns)","6.24","5.57","5.58" - "lat_mem_rd-stride128-sz250k (ns)","6.53","5.83","5.84" - "lat_mem_rd-stride128-sz31k (ns)","2.42","3.65","3.65" + "af_unix_sock_stream_latency (microsec)","30.51","27.27","25.88" + "af_unix_socket_stream_bandwidth (MBs)","566.44","627.75","1060.15" + "bw_file_rd-io-1mb (MB/s)","751.09","870.47","1037.34" + "bw_file_rd-o2c-1mb (MB/s)","442.94","497.27","541.32" + "bw_mem-bcopy-16mb (MB/s)","654.34","763.10","919.86" + "bw_mem-bcopy-1mb (MB/s)","688.82","783.24","980.97" + "bw_mem-bcopy-2mb (MB/s)","645.89","758.63","917.01" + "bw_mem-bcopy-4mb (MB/s)","672.49","799.68","893.85" + "bw_mem-bcopy-8mb (MB/s)","693.18","801.52","930.12" + "bw_mem-bzero-16mb (MB/s)","1693.30","1734.23","2129.36" + "bw_mem-bzero-1mb (MB/s)","1178.44 (min 688.82, max 1668.06)","1259.38 (min 783.24, max 1735.51)","1556.21 (min 980.97, max 2131.44)" + "bw_mem-bzero-2mb (MB/s)","1156.70 (min 645.89, max 1667.50)","1247.83 (min 758.63, max 1737.02)","1523.85 (min 917.01, max 2130.68)" + "bw_mem-bzero-4mb (MB/s)","1171.20 (min 672.49, max 1669.91)","1267.02 (min 799.68, max 1734.35)","1512.46 (min 893.85, max 2131.06)" + "bw_mem-bzero-8mb (MB/s)","1187.28 (min 693.18, max 1681.38)","1281.72 (min 801.52, max 1761.92)","1529.88 (min 930.12, max 2129.64)" + "bw_mem-cp-16mb (MB/s)","378.01","455.46","518.94" + "bw_mem-cp-1mb (MB/s)","1091.05 (min 367.87, max 1814.22)","1153.77 (min 444.64, max 1862.89)","1383.56 (min 501.25, max 2265.86)" + "bw_mem-cp-2mb (MB/s)","1059.28 (min 367.85, max 1750.70)","1112.34 (min 420.92, max 1803.75)","1356.95 (min 506.39, max 2207.51)" + "bw_mem-cp-4mb (MB/s)","1063.37 (min 401.36, max 1725.38)","1128.24 (min 471.03, max 1785.45)","1334.78 (min 496.83, max 2172.73)" + "bw_mem-cp-8mb (MB/s)","1059.31 (min 417.21, max 1701.40)","1133.71 (min 493.77, max 1773.64)","1334.21 (min 514.40, max 2154.01)" + "bw_mem-fcp-16mb (MB/s)","667.75","742.98","939.41" + "bw_mem-fcp-1mb (MB/s)","1207.38 (min 746.69, max 1668.06)","1311.73 (min 887.94, max 1735.51)","1563.23 (min 995.02, max 2131.44)" + "bw_mem-fcp-2mb (MB/s)","1199.32 (min 731.13, max 1667.50)","1304.62 (min 872.22, max 1737.02)","1546.81 (min 962.93, max 2130.68)" + "bw_mem-fcp-4mb (MB/s)","1201.73 (min 733.54, max 1669.91)","1325.37 (min 916.38, max 1734.35)","1543.83 (min 956.59, max 2131.06)" + "bw_mem-fcp-8mb (MB/s)","1213.48 (min 745.57, max 1681.38)","1342.06 (min 922.19, max 1761.92)","1552.15 (min 974.66, max 2129.64)" + "bw_mem-frd-16mb (MB/s)","1012.27","1136.44","1377.65" + "bw_mem-frd-1mb (MB/s)","920.09 (min 746.69, max 1093.49)","1075.97 (min 887.94, max 1263.99)","1273.24 (min 995.02, max 1551.46)" + "bw_mem-frd-2mb (MB/s)","845.11 (min 731.13, max 959.08)","992.70 (min 872.22, max 1113.17)","1166.99 (min 962.93, max 1371.04)" + "bw_mem-frd-4mb (MB/s)","864.10 (min 733.54, max 994.65)","1019.20 (min 916.38, max 1122.02)","1115.54 (min 956.59, max 1274.49)" + "bw_mem-frd-8mb (MB/s)","845.27 (min 745.57, max 944.96)","1023.21 (min 922.19, max 1124.23)","1176.04 (min 974.66, max 1377.41)" + "bw_mem-fwr-16mb (MB/s)","1699.60","1759.98","2143.34" + "bw_mem-fwr-1mb (MB/s)","1453.86 (min 1093.49, max 1814.22)","1563.44 (min 1263.99, max 1862.89)","1908.66 (min 1551.46, max 2265.86)" + "bw_mem-fwr-2mb (MB/s)","1354.89 (min 959.08, max 1750.70)","1458.46 (min 1113.17, max 1803.75)","1789.28 (min 1371.04, max 2207.51)" + "bw_mem-fwr-4mb (MB/s)","1360.02 (min 994.65, max 1725.38)","1453.74 (min 1122.02, max 1785.45)","1723.61 (min 1274.49, max 2172.73)" + "bw_mem-fwr-8mb (MB/s)","1323.18 (min 944.96, max 1701.40)","1448.94 (min 1124.23, max 1773.64)","1765.71 (min 1377.41, max 2154.01)" + "bw_mem-rd-16mb (MB/s)","1004.33","1142.86","1376.11" + "bw_mem-rd-1mb (MB/s)","860.81 (min 567.46, max 1154.16)","957.31 (min 652.21, max 1262.40)","1144.70 (min 722.54, max 1566.85)" + "bw_mem-rd-2mb (MB/s)","778.51 (min 527.50, max 1029.51)","878.72 (min 631.31, max 1126.13)","1029.58 (min 664.45, max 1394.70)" + "bw_mem-rd-4mb (MB/s)","803.54 (min 579.46, max 1027.62)","907.94 (min 697.47, max 1118.41)","1042.94 (min 702.99, max 1382.89)" + "bw_mem-rd-8mb (MB/s)","806.22 (min 592.81, max 1019.63)","949.53 (min 774.52, max 1124.54)","1052.54 (min 725.76, max 1379.31)" + "bw_mem-rdwr-16mb (MB/s)","677.65","851.43","740.12" + "bw_mem-rdwr-1mb (MB/s)","464.48 (min 367.87, max 561.09)","559.42 (min 444.64, max 674.20)","615.26 (min 501.25, max 729.26)" + "bw_mem-rdwr-2mb (MB/s)","434.84 (min 367.85, max 501.82)","523.55 (min 420.92, max 626.17)","586.25 (min 506.39, max 666.11)" + "bw_mem-rdwr-4mb (MB/s)","481.66 (min 401.36, max 561.96)","582.50 (min 471.03, max 693.96)","600.28 (min 496.83, max 703.73)" + "bw_mem-rdwr-8mb (MB/s)","515.99 (min 417.21, max 614.77)","644.50 (min 493.77, max 795.23)","614.66 (min 514.40, max 714.92)" + "bw_mem-wr-16mb (MB/s)","680.65","806.61","739.06" + "bw_mem-wr-1mb (MB/s)","564.28 (min 561.09, max 567.46)","663.21 (min 652.21, max 674.20)","725.90 (min 722.54, max 729.26)" + "bw_mem-wr-2mb (MB/s)","514.66 (min 501.82, max 527.50)","628.74 (min 626.17, max 631.31)","665.28 (min 664.45, max 666.11)" + "bw_mem-wr-4mb (MB/s)","570.71 (min 561.96, max 579.46)","695.72 (min 693.96, max 697.47)","703.36 (min 702.99, max 703.73)" + "bw_mem-wr-8mb (MB/s)","603.79 (min 592.81, max 614.77)","784.88 (min 774.52, max 795.23)","720.34 (min 714.92, max 725.76)" + "bw_mmap_rd-mo-1mb (MB/s)","1174.89","1263.99","1561.42" + "bw_mmap_rd-o2c-1mb (MB/s)","411.81","455.86","506.33" + "bw_pipe (MB/s)","443.26","512.65","682.97" + "bw_unix (MB/s)","566.44","627.75","1060.15" + "lat_connect (us)","68.27","61.15","57.80" + "lat_ctx-2-128k (us)","6.69","6.38","6.15" + "lat_ctx-2-256k (us)","7.99","5.79","6.88" + "lat_ctx-4-128k (us)","6.37","5.80","5.74" + "lat_ctx-4-256k (us)","9.96","6.32","5.86" + "lat_fs-0k (num_files)","197.00","183.00","244.00" + "lat_fs-10k (num_files)","95.00","103.00","98.00" + "lat_fs-1k (num_files)","102.00","131.00","167.00" + "lat_fs-4k (num_files)","132.00","146.00","160.00" + "lat_mem_rd-stride128-sz1000k (ns)","57.34","52.54","43.16" + "lat_mem_rd-stride128-sz125k (ns)","6.28","5.54","5.57" + "lat_mem_rd-stride128-sz250k (ns)","6.53","5.85","5.84" + "lat_mem_rd-stride128-sz31k (ns)","4.09","3.65","3.65" "lat_mem_rd-stride128-sz50 (ns)","2.40","2.15","2.15" - "lat_mem_rd-stride128-sz500k (ns)","20.63","15.30","15.55" - "lat_mem_rd-stride128-sz62k (ns)","5.90","5.25","5.25" - "lat_mmap-1m (us)","63.00","68.00","55.00" + "lat_mem_rd-stride128-sz500k (ns)","19.22","11.17","12.31" + "lat_mem_rd-stride128-sz62k (ns)","5.86","5.20","5.23" + "lat_mmap-1m (us)","63.00","68.00","61.00" "lat_ops-double-add (ns)","3.21","2.86","2.86" - "lat_ops-double-div (ns)","17.63","15.74","15.74" + "lat_ops-double-div (ns)","17.64","15.74","15.74" "lat_ops-double-mul (ns)","3.21","2.86","2.86" "lat_ops-float-add (ns)","3.21","2.86","2.86" - "lat_ops-float-div (ns)","10.42","9.30","9.31" + "lat_ops-float-div (ns)","10.42","9.30","9.30" "lat_ops-float-mul (ns)","3.21","2.86","2.86" "lat_ops-int-add (ns)","0.80","0.72","0.72" "lat_ops-int-bit (ns)","0.53","0.48","0.48" "lat_ops-int-div (ns)","4.81","4.29","4.29" - "lat_ops-int-mod (ns)","5.08","4.54","4.53" - "lat_ops-int-mul (ns)","3.45","3.07","3.08" + "lat_ops-int-mod (ns)","5.08","4.53","4.53" + "lat_ops-int-mul (ns)","3.44","3.07","3.07" "lat_ops-int64-add (ns)","0.80","0.72","0.72" "lat_ops-int64-bit (ns)","0.53","0.48","0.48" - "lat_ops-int64-div (ns)","7.61","6.80","6.80" + "lat_ops-int64-div (ns)","7.62","6.79","6.79" "lat_ops-int64-mod (ns)","5.88","5.25","5.25" - "lat_ops-int64-mul (ns)","4.09","3.56","3.55" - "lat_pagefault (us)","1.70","1.49","1.36" - "lat_pipe (us)","24.73","22.16","21.99" - "lat_proc-exec (us)","1217.00","1103.00","910.00" - "lat_proc-fork (us)","913.00","830.86","705.11" + "lat_ops-int64-mul (ns)","3.98","3.55","3.55" + "lat_pagefault (us)","1.82","1.59","1.45" + "lat_pipe (us)","26.01","23.18","22.99" + "lat_proc-exec (us)","1266.25","1141.80","976.20" + "lat_proc-fork (us)","953.67","857.71","763.86" "lat_proc-proccall (us)","0.01","0.01","0.01" - "lat_select (us)","40.10","36.07","36.05" - "lat_sem (us)","2.23","1.64","1.84" - "lat_sig-catch (us)","5.93","5.33","5.30" - "lat_sig-install (us)","0.72","0.65","0.65" - "lat_sig-prot (us)","1.09","0.95","0.96" - "lat_syscall-fstat (us)","1.84","1.64","1.65" + "lat_select (us)","39.29","35.05","35.07" + "lat_sem (us)","2.30","2.44","1.94" + "lat_sig-catch (us)","6.49","5.76","5.74" + "lat_sig-install (us)","0.73","0.66","0.66" + "lat_sig-prot (us)","1.31","1.10","1.11" + "lat_syscall-fstat (us)","2.24","2.00","2.00" "lat_syscall-null (us)","0.52","0.46","0.46" - "lat_syscall-open (us)","283.62","169.09","148.54" - "lat_syscall-read (us)","0.86","0.77","0.77" - "lat_syscall-stat (us)","4.59","4.12","4.13" - "lat_syscall-write (us)","0.77","0.68","0.69" - "lat_tcp (us)","1.06","0.94","0.95" - "lat_unix (us)","27.25","24.81","26.57" - "latency_for_0.50_mb_block_size (nanosec)","20.63","15.30","15.55" - "latency_for_1.00_mb_block_size (nanosec)","28.82 (min 0.00, max 57.65)","26.30 (min 0.00, max 52.61)","21.58 (min 0.00, max 43.16)" - "pipe_bandwidth (MBs)","462.85","506.12","693.65" - "pipe_latency (microsec)","24.73","22.16","21.99" + "lat_syscall-open (us)","163.50","197.91","155.95" + "lat_syscall-read (us)","0.93","0.83","0.83" + "lat_syscall-stat (us)","5.55","5.02","4.97" + "lat_syscall-write (us)","0.83","0.74","0.74" + "lat_tcp (us)","1.05","0.94","0.94" + "lat_unix (us)","30.51","27.27","25.88" + "latency_for_0.50_mb_block_size (nanosec)","19.22","11.17","12.31" + "latency_for_1.00_mb_block_size (nanosec)","28.67 (min 0.00, max 57.34)","26.27 (min 0.00, max 52.54)","21.58 (min 0.00, max 43.16)" + "pipe_bandwidth (MBs)","443.26","512.65","682.97" + "pipe_latency (microsec)","26.01","23.18","22.99" "procedure_call (microsec)","0.01","0.01","0.01" - "select_on_200_tcp_fds (microsec)","40.10","36.07","36.05" - "semaphore_latency (microsec)","2.23","1.64","1.84" - "signal_handler_latency (microsec)","0.72","0.65","0.65" - "signal_handler_overhead (microsec)","5.93","5.33","5.30" - "tcp_ip_connection_cost_to_localhost (microsec)","59.88","52.95","51.47" - "tcp_latency_using_localhost (microsec)","1.06","0.94","0.95" - - - + "select_on_200_tcp_fds (microsec)","39.29","35.05","35.07" + "semaphore_latency (microsec)","2.30","2.44","1.94" + "signal_handler_latency (microsec)","0.73","0.66","0.66" + "signal_handler_overhead (microsec)","6.49","5.76","5.74" + "tcp_ip_connection_cost_to_localhost (microsec)","68.27","61.15","57.80" + "tcp_latency_using_localhost (microsec)","1.05","0.94","0.94" Dhrystone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -197,7 +192,6 @@ Please take note, different run may produce different slightly results. This is advised to run this test multiple times in order to get maximum performance numbers. - Execute the benchmark with the following: :: @@ -211,9 +205,6 @@ Execute the benchmark with the following: "dhrystone_per_mhz (DMIPS/MHz)","2.90","2.90","2.90" "dhrystone_per_second (DhrystoneP)","6451613.00","7142857.00","7142857.00" - - - Whetstone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Whetstone is a benchmark primarily measuring floating-point arithmetic performance. @@ -227,10 +218,7 @@ Execute the benchmark with the following: .. csv-table:: Whetstone Benchmarks :header: "Benchmarks","am62xx_lp_sk-fs: perf","am62xx_sk-fs: perf","am62xxsip_sk-fs: perf" - "whetstone (MIPS)","5000.00","10000.00","10000.00" - - - + "whetstone (MIPS)","5000.00","10000.00","5000.00" Linpack ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -240,10 +228,7 @@ solving a dense linear system. .. csv-table:: Linpack Benchmarks :header: "Benchmarks","am62xx_lp_sk-fs: perf","am62xx_sk-fs: perf","am62xxsip_sk-fs: perf" - "linpack (Kflops)","515825.00","578100.00","574617.00" - - - + "linpack (Kflops)","515090.00","577370.00","576595.00" NBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -256,18 +241,15 @@ https://nbench.io/articles/index.html .. csv-table:: NBench Benchmarks :header: "Benchmarks","am62xx_lp_sk-fs: perf","am62xx_sk-fs: perf","am62xxsip_sk-fs: perf" - "assignment (Iterations)","12.94","14.49","14.49" - "fourier (Iterations)","20384.00","22833.00","22832.00" - "fp_emulation (Iterations)","192.53","215.65","215.65" - "huffman (Iterations)","1057.00","1184.40","1184.40" - "idea (Iterations)","3075.60","3444.90","3444.90" - "lu_decomposition (Iterations)","470.79","527.77","528.61" - "neural_net (Iterations)","7.73","8.65","8.65" - "numeric_sort (Iterations)","554.43","628.90","628.46" - "string_sort (Iterations)","146.37","163.94","163.94" - - - + "assignment (Iterations)","12.93","14.50","14.51" + "fourier (Iterations)","20385.00","22831.00","22832.00" + "fp_emulation (Iterations)","192.54","215.66","215.65" + "huffman (Iterations)","1057.40","1184.50","1184.40" + "idea (Iterations)","3075.70","3444.80","3444.70" + "lu_decomposition (Iterations)","472.27","528.59","529.43" + "neural_net (Iterations)","7.72","8.65","8.65" + "numeric_sort (Iterations)","562.00","629.31","627.71" + "string_sort (Iterations)","146.35","163.92","163.92" Stream ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -290,13 +272,10 @@ Execute the benchmark with the following: .. csv-table:: Stream Benchmarks :header: "Benchmarks","am62xx_lp_sk-fs: perf","am62xx_sk-fs: perf","am62xxsip_sk-fs: perf" - "add (MB/s)","1376.60","1442.50","1713.70" - "copy (MB/s)","1452.20","1637.60","1852.50" - "scale (MB/s)","1582.90","1830.50","1943.80" - "triad (MB/s)","1349.10","1481.40","1681.70" - - - + "add (MB/s)","1367.60","1442.40","1715.30" + "copy (MB/s)","1426.70","1633.70","1874.90" + "scale (MB/s)","1576.40","1806.40","1926.80" + "triad (MB/s)","1346.40","1488.60","1681.30" CoreMarkPro ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -306,41 +285,33 @@ While CoreMark stresses the CPU pipeline, CoreMark-Pro tests the entire processo adding comprehensive support for multicore technology, a combination of integer and floating-point workloads, and data sets for utilizing larger memory subsystems. - .. csv-table:: CoreMarkPro Benchmarks :header: "Benchmarks","am62xx_lp_sk-fs: perf","am62xx_sk-fs: perf","am62xxsip_sk-fs: perf" - "cjpeg-rose7-preset (workloads/)","37.17","42.02","41.84" + "cjpeg-rose7-preset (workloads/)","37.31","41.67","41.67" "core (workloads/)","0.27","0.30","0.30" - "coremark-pro ()","761.94","885.95","848.71" - "linear_alg-mid-100x100-sp (workloads/)","13.11","14.69","14.68" - "loops-all-mid-10k-sp (workloads/)","0.59","0.66","0.67" + "coremark-pro ()","767.20","885.25","849.58" + "linear_alg-mid-100x100-sp (workloads/)","13.11","14.69","14.66" + "loops-all-mid-10k-sp (workloads/)","0.59","0.67","0.67" "nnet_test (workloads/)","0.97","1.09","1.09" "parser-125k (workloads/)","7.35","8.33","8.26" - "radix2-big-64k (workloads/)","33.24","51.08","34.93" - "sha-test (workloads/)","71.94","80.65","80.00" + "radix2-big-64k (workloads/)","35.23","50.38","35.16" + "sha-test (workloads/)","71.94","80.65","80.65" "zip-test (workloads/)","18.52","20.83","20.83" - - - .. csv-table:: CoreMarkProTwoCore Benchmarks :header: "Benchmarks","am62xx_lp_sk-fs: perf","am62xx_sk-fs: perf","am62xxsip_sk-fs: perf" - "cjpeg-rose7-preset (workloads/)","73.53","81.97","82.64" + "cjpeg-rose7-preset (workloads/)","73.53","83.33","82.64" "core (workloads/)","0.54","0.60","0.60" - "coremark-pro ()","1314.33","1498.39","1553.78" - "linear_alg-mid-100x100-sp (workloads/)","26.21","29.34","29.38" - "loops-all-mid-10k-sp (workloads/)","1.03","1.14","1.23" + "coremark-pro ()","1302.46","1543.95","1495.06" + "linear_alg-mid-100x100-sp (workloads/)","26.19","29.36","29.33" + "loops-all-mid-10k-sp (workloads/)","1.03","1.23","1.15" "nnet_test (workloads/)","1.94","2.17","2.17" - "parser-125k (workloads/)","10.64","11.83","12.05" - "radix2-big-64k (workloads/)","30.41","42.62","49.45" - "sha-test (workloads/)","142.86","158.73","161.29" - "zip-test (workloads/)","34.48","37.74","40.00" - - - - + "parser-125k (workloads/)","9.71","12.20","11.76" + "radix2-big-64k (workloads/)","31.26","44.86","40.56" + "sha-test (workloads/)","142.86","161.29","158.73" + "zip-test (workloads/)","33.90","40.82","38.46" MultiBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -362,63 +333,47 @@ thread-enabled workloads to be tested. .. csv-table:: Multibench Benchmarks :header: "Benchmarks","am62xx_lp_sk-fs: perf","am62xx_sk-fs: perf","am62xxsip_sk-fs: perf" - "4m-check (workloads/)","273.97","311.06","365.87" - "4m-check-reassembly (workloads/)","56.21","66.84","76.22" - "4m-check-reassembly-tcp (workloads/)","37.15","41.46","48.08" - "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","18.90","24.02","28.92" - "4m-check-reassembly-tcp-x264w2 (workloads/)","1.59","1.79","1.84" - "4m-cmykw2 (workloads/)","118.91","199.60","236.41" - "4m-cmykw2-rotatew2 (workloads/)","34.50","39.14","45.84" - "4m-reassembly (workloads/)","44.56","49.16","58.72" - "4m-rotatew2 (workloads/)","39.60","44.58","53.05" - "4m-tcp-mixed (workloads/)","91.95","102.56","114.29" - "4m-x264w2 (workloads/)","1.66","1.85","1.91" + "4m-check (workloads/)","271.68","305.55","302.63" + "4m-check-reassembly (workloads/)","57.21","63.94","63.01" + "4m-check-reassembly-tcp (workloads/)","37.31","41.60","41.19" + "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","21.38","23.85","23.69" + "4m-check-reassembly-tcp-x264w2 (workloads/)","1.58","1.80","1.78" + "4m-cmykw2 (workloads/)","176.52","198.41","196.08" + "4m-cmykw2-rotatew2 (workloads/)","34.56","39.11","38.27" + "4m-reassembly (workloads/)","44.29","49.07","49.12" + "4m-rotatew2 (workloads/)","39.65","44.48","45.39" + "4m-tcp-mixed (workloads/)","91.95","103.23","102.56" + "4m-x264w2 (workloads/)","1.65","1.84","1.86" "empty-wld (workloads/)","1.00","1.00","1.00" - "idct-4m (workloads/)","16.80","18.62","19.12" - "idct-4mw1 (workloads/)","16.77","18.63","19.11" - "ippktcheck-4m (workloads/)","273.58","307.77","365.93" - "ippktcheck-4mw1 (workloads/)","273.05","307.47","363.43" - "ipres-4m (workloads/)","58.23","65.56","77.84" - "ipres-4mw1 (workloads/)","58.09","65.39","78.45" - "md5-4m (workloads/)","23.42","26.32","27.74" - "md5-4mw1 (workloads/)","23.26","26.33","27.83" - "rgbcmyk-4m (workloads/)","55.88","63.94","64.77" - "rgbcmyk-4mw1 (workloads/)","56.48","63.86","64.79" - "rotate-4ms1 (workloads/)","16.47","18.25","21.61" - "rotate-4ms1w1 (workloads/)","16.42","18.18","21.75" - "rotate-4ms64 (workloads/)","16.54","19.28","21.86" - "rotate-4ms64w1 (workloads/)","16.57","18.40","21.87" - "x264-4mq (workloads/)","0.50","0.56","0.57" - "x264-4mqw1 (workloads/)","0.50","0.56","0.57" - - - - - - - - -| + "idct-4m (workloads/)","16.79","18.63","18.55" + "idct-4mw1 (workloads/)","16.80","18.61","18.58" + "ippktcheck-4m (workloads/)","272.69","305.06","304.99" + "ippktcheck-4mw1 (workloads/)","271.62","310.37","303.25" + "ipres-4m (workloads/)","57.54","65.19","63.10" + "ipres-4mw1 (workloads/)","57.36","64.16","62.21" + "md5-4m (workloads/)","23.29","25.94","26.13" + "md5-4mw1 (workloads/)","23.18","25.90","26.00" + "rgbcmyk-4m (workloads/)","56.82","63.61","63.33" + "rgbcmyk-4mw1 (workloads/)","56.56","63.78","63.31" + "rotate-4ms1 (workloads/)","16.36","18.18","18.20" + "rotate-4ms1w1 (workloads/)","16.34","18.19","18.16" + "rotate-4ms64 (workloads/)","16.48","18.36","18.38" + "rotate-4ms64w1 (workloads/)","16.47","18.32","18.39" + "x264-4mq (workloads/)","0.50","0.56","0.56" + "x264-4mqw1 (workloads/)","0.50","0.56","0.56" Boot-time Measurement -------------------------- +--------------------- Boot media: MMCSD -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. csv-table:: Boot time MMCSD - :header: "Boot Configuration","am62xx_lp_sk-fs: boot time (sec)","am62xxsip_sk-fs: boot time (sec)" - - "Kernel boot time test when bootloader, kernel and sdk-rootfs are in mmc-sd","17.28 (min 17.19, max 17.39)","20.97 (min 19.77, max 21.38)" - "Kernel boot time test when init is /bin/sh and bootloader, kernel and sdk-rootfs are in mmc-sd","4.42 (min 4.38, max 4.43)","3.95 (min 3.92, max 3.98)" - "kernel boot time test when bootloader, kernel and sdk-rootfs are in mmc-sd","23.13 (min 19.50, max 25.68)","18.33 (min 17.52, max 19.48)" +^^^^^^^^^^^^^^^^^ +.. csv-table:: Linux boot time MMCSD + :header: "Boot Configuration","am62xx_lp_sk-fs: Boot time in seconds: avg(min,max)","am62xx_sk-fs: Boot time in seconds: avg(min,max)","am62xxsip_sk-fs: Boot time in seconds: avg(min,max)" + "Linux boot time from SD with default rootfs (20 boot cycles)","17.17 (min 16.77, max 17.51)","17.14 (min 16.69, max 17.59)","16.61 (min 16.32, max 16.93)" - - - - +Boot time numbers [avg, min, max] are measured from "Starting kernel" to Linux prompt across 20 boot cycles. | @@ -430,38 +385,24 @@ ALSA SoC Audio Driver #. Format - S16\_LE #. Period size - 64 - .. csv-table:: Audio Capture :header: "Sampling Rate (Hz)","am62xx_lp_sk-fs: Throughput (bits/sec)","am62xx_lp_sk-fs: CPU Load (%)","am62xx_sk-fs: Throughput (bits/sec)","am62xx_sk-fs: CPU Load (%)","am62xxsip_sk-fs: Throughput (bits/sec)","am62xxsip_sk-fs: CPU Load (%)" - "8000","255998.00","0.27","255998.00","0.15","255999.00","0.28" - "11025","352797.00","0.19","352797.00","0.21","352799.00","0.35" - "16000","511996.00","0.13","511997.00","0.17","511999.00","0.30" - "22050","705595.00","0.33","705596.00","0.34","705599.00","0.49" - "24000","705595.00","0.32","705595.00","0.32","705596.00","0.45" - "32000","1023991.00","0.92","1023990.00","0.21","1023992.00","1.05" - "44100","1411188.00","0.50","1411187.00","0.50","1411191.00","0.64" - "48000","1535987.00","0.25","1535987.00","1.23","1535991.00","0.45" - "88200","2822371.00","0.95","2822372.00","0.92","2822381.00","1.01" - "96000","3071968.00","0.41","3071969.00","2.50","3071979.00","1.25" - - - - - - - - - - - + "8000","255998.00","0.36","255999.00","0.09","255999.00","0.07" + "11025","352798.00","0.19","352797.00","0.16","352798.00","0.14" + "16000","511997.00","0.13","511997.00","0.09","511998.00","0.10" + "22050","705597.00","0.33","705596.00","0.30","705598.00","0.27" + "24000","705594.00","0.34","705595.00","0.27","705596.00","0.25" + "32000","1023988.00","0.19","1023990.00","0.72","1023992.00","0.73" + "44100","1411185.00","0.51","1411187.00","0.45","1411190.00","0.42" + "48000","1535985.00","0.26","1535986.00","0.21","1535990.00","0.20" + "88200","2822370.00","1.04","2822371.00","0.93","2822378.00","0.83" + "96000","3071967.00","0.38","3071967.00","2.32","3071978.00","0.30" | Graphics SGX/RGX Driver ------------------------- - - GFXBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -470,12 +411,9 @@ Run GFXBench and capture performance reported (Score and Display rate in fps). A .. csv-table:: GFXBench Performance :header: "Benchmark","am62xx_lp_sk-fs: Score","am62xx_lp_sk-fs: Fps","am62xx_sk-fs: Score","am62xx_sk-fs: Fps" - " GFXBench 3.x gl_manhattan_off","82.32","1.33" - " GFXBench 3.x gl_trex_off","122.97","2.20" - " GFXBench 5.x gl_5_high_off","11.17","0.17","11.82","0.18" - - - + " GFXBench 3.x gl_manhattan_off","82.22","1.33" + " GFXBench 3.x gl_trex_off","122.93","2.20" + " GFXBench 5.x gl_5_high_off","11.18","0.17","11.46","0.18" Glmark2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -486,18 +424,9 @@ Run Glmark2 and capture performance reported (Score). All display outputs (HDMI, :header: "Benchmark","am62xx_lp_sk-fs: Score","am62xx_sk-fs: Score","am62xxsip_sk-fs: Score" "Glmark2-DRM","51.00","61.00" - "Glmark2-Wayland","200.00","218.00","211.00" + "Glmark2-Wayland","200.00","218.00","209.00" "Glmark2-Wayland 1920x1080","62.00","67.00" - - - - - - - - - | Ethernet @@ -567,23 +496,18 @@ Running the following commands will trigger netperf clients to measure UDP burst netperf -H -j -C -l 60 -t UDP_STREAM -b -w -- -m -k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE - CPSW/CPSW2g/CPSW3g Ethernet Driver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - CPSW3g: AM62x - .. rubric:: TCP Bidirectional Throughput :name: CPSW2g-tcp-bidirectional-throughput .. csv-table:: CPSW2g TCP Bidirectional Throughput :header: "Command Used","am62xx_lp_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_lp_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xx_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xxsip_sk-fs: THROUGHPUT (Mbits/sec)","am62xxsip_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1811.14","68.36","1835.59","67.36","1820.77","62.08" - - - + "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1579.73","89.05","1838.18","68.74","1827.76","69.40" .. rubric:: TCP Bidirectional Throughput Interrupt Pacing :name: CPSW2g-tcp-bidirectional-throughput-interrupt-pacing @@ -591,10 +515,7 @@ CPSW/CPSW2g/CPSW3g Ethernet Driver .. csv-table:: CPSW2g TCP Bidirectional Throughput Interrupt Pacing :header: "Command Used","am62xx_lp_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_lp_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xx_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xxsip_sk-fs: THROUGHPUT (Mbits/sec)","am62xxsip_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1707.56","48.86","1819.03","52.11","1838.83","45.74" - - - + "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1756.62","57.06","1742.62","50.25","1828.24","44.80" .. rubric:: UDP Throughput :name: CPSW2g-udp-throughput-0-loss @@ -602,66 +523,38 @@ CPSW/CPSW2g/CPSW3g Ethernet Driver .. csv-table:: CPSW2g UDP Egress Throughput 0 loss :header: "Frame Size(bytes)","am62xx_lp_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xx_lp_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_lp_sk-fs: Packets Per Second (kPPS)","am62xx_lp_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xx_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xx_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_sk-fs: Packets Per Second (kPPS)","am62xx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xxsip_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xxsip_sk-fs: THROUGHPUT (Mbits/sec)","am62xxsip_sk-fs: Packets Per Second (kPPS)","am62xxsip_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - "64","18.00","15.01","104.00","40.02","18.00","16.92","118.00","40.59","18.00","17.98","125.00","41.45" - "128","82.00","65.07","99.00","39.33","82.00","73.78","112.00","39.86","82.00","79.54","121.00","40.66" - "256","210.00","164.03","98.00","39.04","210.00","188.16","112.00","39.80","210.00","187.01","111.00","39.70" - "1024","978.00","603.42","77.00","62.39","978.00","148.66","19.00","13.25","978.00","909.21","116.00","43.63" - "1518","1472.00","845.79","72.00","62.01","1472.00","956.84","81.00","38.64","1472.00","957.01","81.00","35.52" - - - + "64","18.00","11.71","81.00","36.80","18.00","1.89","13.00","3.79","18.00","16.27","113.00","39.85" + "128","82.00","60.36","92.00","38.24","82.00","67.53","103.00","38.37","82.00","71.83","109.00","39.55" + "256","210.00","152.77","91.00","38.11","210.00","79.97","48.00","16.58","210.00","184.10","110.00","39.45" + "1024","978.00","183.53","23.00","10.10","978.00","143.17","18.00","7.43","978.00","827.54","106.00","38.94" + "1518","1472.00","956.68","81.00","42.84","1472.00","954.15","81.00","36.52","1472.00","956.98","81.00","35.74" .. csv-table:: CPSW2g UDP Ingress Throughput 0 loss :header: "Frame Size(bytes)","am62xx_lp_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xx_lp_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_lp_sk-fs: Packets Per Second (kPPS)","am62xx_lp_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xx_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xx_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_sk-fs: Packets Per Second (kPPS)","am62xx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xxsip_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xxsip_sk-fs: THROUGHPUT (Mbits/sec)","am62xxsip_sk-fs: Packets Per Second (kPPS)","am62xxsip_sk-fs: CPU Load % (LOCAL_CPU_UTIL)" - "64","18.00","1.05","7.00","0.92","18.00","17.93","125.00","82.59" - "128","82.00","3.94","6.00","1.04","82.00","5.44","8.00","2.44","82.00","4.72","7.00","1.18" - "256","210.00","13.61","8.00","2.93","210.00","13.94","8.00","1.63","210.00","13.44","8.00","1.30" - "1024","978.00","67.29","9.00","5.02","978.00","934.93","119.00","41.89","978.00","936.69","120.00","43.50" - "1518","1472.00","98.92","8.00","5.91","1472.00","957.03","81.00","43.05" - - - + "64","18.00","1.21","8.00","4.65","18.00","1.01","7.00","1.01","18.00","1.01","7.00","0.94" + "128","82.00","5.25","8.00","3.43","82.00","5.12","8.00","1.50","82.00","5.18","8.00","1.17" + "256","210.00","12.94","8.00","4.26","210.00","11.59","7.00","1.10","210.00","13.94","8.00","1.34" + "1024","978.00","65.72","8.00","2.33","978.00","65.72","8.00","3.44","978.00","931.68","119.00","42.71" + "1518","1472.00","98.91","8.00","4.39","1472.00","98.92","8.00","3.32" .. csv-table:: CPSW2g UDP Ingress Throughput possible loss :header: "Frame Size(bytes)","am62xx_lp_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xx_lp_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_lp_sk-fs: Packets Per Second (kPPS)","am62xx_lp_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xx_lp_sk-fs: Packet Loss %","am62xx_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xx_sk-fs: THROUGHPUT (Mbits/sec)","am62xx_sk-fs: Packets Per Second (kPPS)","am62xx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xx_sk-fs: Packet Loss %","am62xxsip_sk-fs: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am62xxsip_sk-fs: THROUGHPUT (Mbits/sec)","am62xxsip_sk-fs: Packets Per Second (kPPS)","am62xxsip_sk-fs: CPU Load % (LOCAL_CPU_UTIL)","am62xxsip_sk-fs: Packet Loss %" - "64","18.00","33.79","235.00","42.10","71.81","18.00","25.06","174.00","37.74","17.10" - "128","82.00","125.99","192.00","44.62","63.57","82.00","139.74","213.00","43.66","47.43","82.00","152.20","232.00","43.43","68.57" - "256","210.00","261.84","156.00","39.59","11.97","210.00","332.46","198.00","45.22","47.35","210.00","381.37","227.00","44.06","28.31" - "1024","978.00","934.87","119.00","44.28","0.21","978.00","936.28","120.00","43.16","0.05","978.00","936.69","120.00","43.50","0.00" - "1518","1472.00","956.11","81.00","43.28","0.10","1472.00","955.03","81.00","41.14","0.19" - - - - - - - - - - - - - - + "64","18.00","19.27","134.00","40.40","1.01","18.00","32.50","226.00","41.18","71.70","18.00","32.30","224.00","41.74","73.86" + "128","82.00","111.55","170.00","42.47","10.50","82.00","132.14","201.00","41.36","62.99","82.00","131.22","200.00","42.03","50.74" + "256","210.00","269.06","160.00","42.24","1.06","210.00","329.03","196.00","42.36","56.71","210.00","322.91","192.00","42.02","38.10" + "1024","978.00","913.54","117.00","42.14","0.02","978.00","911.01","116.00","42.48","0.33","978.00","931.68","119.00","42.71","0.00" + "1518","1472.00","940.47","80.00","41.86","0.38","1472.00","953.90","81.00","43.27","0.32" | Linux OSPI Flash Driver ------------------------- - AM62XX-SK ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - - - - - RAW """"""""""""""""""""""""""" @@ -670,498 +563,358 @@ RAW "50","172.41" +| +UBoot QSPI/OSPI Driver +------------------------- +AM62XX-SK +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. csv-table:: UBOOT QSPI or OSPI + :header: "File size (bytes in hex)","am62xx_sk-fs: Write Throughput (Kbytes/sec)","am62xx_sk-fs: Read Throughput (Kbytes/sec)" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + "400000","356.08","204800.00" + "800000","356.22","240941.18" + "1000000","358.47","268590.16" + "2000000","351.77","284939.13" +.. csv-table:: UBOOT QSPI or OSPI + :header: "File size (bytes in hex)","am62xxsip_sk-fs: Write Throughput (Kbytes/sec)","am62xxsip_sk-fs: Read Throughput (Kbytes/sec)" -| + "400000","380.81","195047.62" + "800000","382.54","240941.18" + "1000000","387.24","268590.16" + "2000000","391.75","284939.13" EMMC Driver -------------------------- - -.. warning:: +----------- +.. important:: - **IMPORTANT**: The performance numbers can be severely affected if the media is + 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. - - - - - - - - - - - - - - -AM62XX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +EMMC EXT4 FIO 1G +^^^^^^^^^^^^^^^^ .. csv-table:: EMMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62xx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xx_sk-fs: Write EXT4 CPU Load (%)","am62xx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xx_sk-fs: Read EXT4 CPU Load (%)" - "1m","59.70","1.36","175.00","1.84" - "4m","59.70","1.07","175.00","1.55" - "4k","49.80","14.96","55.70","14.02" - "256k","60.00","1.72","174.00","2.62" - - - + "1m","60.30","1.28","175.00","1.42" + "4m","59.30","1.02","175.00","1.69" + "4k","51.40","15.33","55.80","14.12" + "256k","60.30","1.77","174.00","2.54" .. csv-table:: EMMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62xx_lp_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Write EXT4 CPU Load (%)","am62xx_lp_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Read EXT4 CPU Load (%)" - "1m","57.60","1.58","175.00","2.29" - "4m","57.70","1.26","175.00","1.85" - "4k","51.30","17.36","56.60","15.91" - "256k","57.60","1.80","174.00","2.93" - - - + "1m","58.40","1.77","175.00","2.34" + "4m","58.60","1.26","175.00","1.91" + "4k","51.40","18.03","56.60","16.15" + "256k","58.50","1.86","174.00","2.86" .. csv-table:: EMMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62xxsip_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xxsip_sk-fs: Write EXT4 CPU Load (%)","am62xxsip_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xxsip_sk-fs: Read EXT4 CPU Load (%)" - "1m","91.60","1.91","172.00","1.81" - "4m","97.90","1.74","171.00","1.77" - "4k","62.90","19.46","93.30","21.89" - "256k","91.70","1.98","171.00","2.17" - - - - - - - - - - - - + "1m","90.60","2.45","171.00","2.08" + "4m","95.90","1.96","172.00","2.08" + "4k","62.80","20.49","93.10","22.27" + "256k","90.10","2.35","170.00","2.45" +EMMC EXT4 +^^^^^^^^^ +.. csv-table:: EMMC EXT4 + :header: "Buffer size (bytes)","am62xx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xx_sk-fs: Write EXT4 CPU Load (%)","am62xx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xx_sk-fs: Read EXT4 CPU Load (%)" + "102400","54.44 (min 52.10, max 55.30)","4.52 (min 3.96, max 6.09)","180.77","10.48" + "262144","53.45 (min 51.06, max 54.33)","4.80 (min 4.25, max 6.33)","178.76","11.69" + "524288","53.27 (min 50.36, max 54.05)","4.83 (min 4.39, max 6.13)","182.72","13.16" + "1048576","53.74 (min 51.16, max 54.70)","4.85 (min 4.30, max 6.46)","183.05","12.72" + "5242880","54.01 (min 50.92, max 55.04)","4.67 (min 4.20, max 5.72)","182.97","13.48" +.. csv-table:: EMMC EXT4 + :header: "Buffer size (bytes)","am62xx_lp_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Write EXT4 CPU Load (%)","am62xx_lp_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Read EXT4 CPU Load (%)" + "102400","52.51 (min 50.01, max 53.62)","6.13 (min 5.62, max 7.87)","180.19","15.02" + "262144","51.72 (min 48.24, max 52.73)","6.24 (min 5.76, max 7.95)","164.96","15.26" + "524288","51.97 (min 48.19, max 53.16)","6.38 (min 5.73, max 7.71)","170.21","17.74" + "1048576","51.46 (min 48.19, max 52.49)","6.06 (min 5.25, max 7.94)","182.42","17.18" + "5242880","51.96 (min 48.64, max 53.23)","6.25 (min 5.80, max 7.77)","182.16","17.47" +.. csv-table:: EMMC EXT4 + :header: "Buffer size (bytes)","am62xxsip_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xxsip_sk-fs: Write EXT4 CPU Load (%)","am62xxsip_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xxsip_sk-fs: Read EXT4 CPU Load (%)" + "102400","96.50 (min 94.37, max 98.68)","10.36 (min 6.55, max 17.97)","178.27","9.87" + "262144","76.93 (min 48.58, max 97.56)","6.26 (min 3.17, max 10.07)","179.62","13.30" + "524288","77.11 (min 49.70, max 96.50)","6.17 (min 3.35, max 10.16)","180.72","12.61" + "1048576","77.27 (min 48.97, max 96.76)","6.45 (min 3.42, max 10.81)","181.14","12.88" + "5242880","80.07 (min 48.38, max 97.69)","6.59 (min 3.59, max 10.83)","181.09","12.12" +EMMC VFAT +^^^^^^^^^ +.. csv-table:: EMMC VFAT + :header: "Buffer size (bytes)","am62xx_sk-fs: Write VFAT Throughput (Mbytes/sec)","am62xx_sk-fs: Write VFAT CPU Load (%)","am62xx_sk-fs: Read VFAT Throughput (Mbytes/sec)","am62xx_sk-fs: Read VFAT CPU Load (%)" + "102400","48.56 (min 41.84, max 50.37)","6.56 (min 5.52, max 9.20)","171.91","13.22" + "262144","49.22 (min 42.44, max 51.01)","6.93 (min 6.08, max 9.52)","157.56","15.15" + "524288","49.34 (min 42.54, max 51.14)","6.90 (min 6.08, max 9.54)","160.17","14.94" + "1048576","49.54 (min 42.58, max 51.39)","6.98 (min 6.34, max 9.27)","169.11","15.32" + "5242880","49.87 (min 42.95, max 51.63)","6.97 (min 6.27, max 9.53)","167.80","14.86" - - +.. csv-table:: EMMC VFAT + :header: "Buffer size (bytes)","am62xx_lp_sk-fs: Write VFAT Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Write VFAT CPU Load (%)","am62xx_lp_sk-fs: Read VFAT Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Read VFAT CPU Load (%)" + "102400","46.16 (min 39.51, max 48.04)","6.95 (min 6.18, max 9.54)","172.33","14.11" + "262144","47.28 (min 40.23, max 49.19)","7.37 (min 6.53, max 9.90)","156.81","14.77" + "524288","47.32 (min 40.34, max 49.22)","7.37 (min 6.41, max 9.83)","156.30","15.85" + "1048576","47.58 (min 40.48, max 49.49)","7.14 (min 6.38, max 9.68)","167.94","15.85" + "5242880","47.67 (min 40.69, max 49.57)","7.34 (min 6.61, max 9.91)","167.74","16.53" +.. csv-table:: EMMC VFAT + :header: "Buffer size (bytes)","am62xxsip_sk-fs: Write VFAT Throughput (Mbytes/sec)","am62xxsip_sk-fs: Write VFAT CPU Load (%)","am62xxsip_sk-fs: Read VFAT Throughput (Mbytes/sec)","am62xxsip_sk-fs: Read VFAT CPU Load (%)" -| + "102400","83.42 (min 66.69, max 97.45)","12.58 (min 8.65, max 19.18)","174.92","11.67" + "262144","69.57 (min 59.40, max 97.47)","7.25 (min 4.31, max 13.44)","174.12","13.75" + "524288","75.16 (min 56.74, max 96.66)","7.73 (min 4.30, max 13.28)","174.10","14.17" + "1048576","74.99 (min 53.68, max 97.71)","8.26 (min 5.17, max 12.86)","174.76","12.61" + "5242880","83.52 (min 60.53, max 97.85)","9.36 (min 5.57, max 13.11)","174.91","13.39" UBoot EMMC Driver -------------------------- - - -AM62XX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +----------------- .. csv-table:: UBOOT EMMC RAW :header: "File size (bytes in hex)","am62xx_sk-fs: Write Throughput (Kbytes/sec)","am62xx_sk-fs: Read Throughput (Kbytes/sec)" - "2000000","59470.05","170666.67" - "4000000","61134.33","173375.66" - - - + "2000000","56987.83","168907.22" + "4000000","57487.72","173375.66" .. csv-table:: UBOOT EMMC RAW :header: "File size (bytes in hex)","am62xx_lp_sk-fs: Write Throughput (Kbytes/sec)","am62xx_lp_sk-fs: Read Throughput (Kbytes/sec)" - "2000000","61478.42","170666.67" - "4000000","62415.24","174297.87" - - - + "2000000","56888.89","169782.38" + "4000000","58462.09","172918.21" .. csv-table:: UBOOT EMMC RAW :header: "File size (bytes in hex)","am62xxsip_sk-fs: Write Throughput (Kbytes/sec)","am62xxsip_sk-fs: Read Throughput (Kbytes/sec)" - "2000000","98402.40","171560.21" - "4000000","97523.81","174762.67" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + "2000000","98107.78","171560.21" + "4000000","97961.14","174762.67" +MMCSD +----- +.. important:: -| - -MMC/SD Driver -------------------------- - -.. warning:: - - **IMPORTANT**: The performance numbers can be severely affected if the media is + 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. - - - - - - - - - - - - - - - - - -AM62XX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +MMC EXT4 FIO 1G +^^^^^^^^^^^^^^^ .. csv-table:: MMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62xx_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xx_sk-fs: Write EXT4 CPU Load (%)","am62xx_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xx_sk-fs: Read EXT4 CPU Load (%)" - "1m","18.10","0.72","83.80","1.42" - "4m","18.20","0.66","82.50","1.09" - "4k","4.28","2.26","13.80","5.72" - "256k","17.60","0.84","78.70","1.20" - - - + "1m","42.60","1.20","88.20","1.21" + "4m","40.90","0.89","81.30","1.00" + "4k","2.81","1.57","12.90","4.01" + "256k","37.20","1.17","84.90","1.37" .. csv-table:: MMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62xx_lp_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Write EXT4 CPU Load (%)","am62xx_lp_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Read EXT4 CPU Load (%)" - "1m","13.20","0.76","103.00","1.73" - "4m","14.00","0.59","104.00","1.50" - "4k","4.41","2.56","12.50","4.38" - "256k","12.90","0.85","95.60","1.86" - - - + "1m","42.10","1.67","85.40","1.78" + "4m","41.80","1.23","85.20","1.40" + "4k","2.82","1.94","13.20","4.79" + "256k","35.30","1.75","84.40","1.57" .. csv-table:: MMC EXT4 FIO 1G :header: "Buffer size (bytes)","am62xxsip_sk-fs: Write EXT4 Throughput (Mbytes/sec)","am62xxsip_sk-fs: Write EXT4 CPU Load (%)","am62xxsip_sk-fs: Read EXT4 Throughput (Mbytes/sec)","am62xxsip_sk-fs: Read EXT4 CPU Load (%)" - "1m","41.70","1.23","84.80","1.24" - "4m","40.70","0.93","84.90","1.20" - "4k","2.82","1.55","13.10","4.07" - "256k","36.80","1.24","84.30","1.39" - - - - - + "1m","19.80","0.81","87.80","1.29" + "4m","18.10","0.61","87.50","1.30" + "4k","4.11","2.24","13.70","4.46" + "256k","19.40","0.92","83.90","1.28" +MMC EXT4 +^^^^^^^^ +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am62xx_sk-fs: Write Raw Throughput (Mbytes/sec)","am62xx_sk-fs: Write Raw CPU Load (%)","am62xx_sk-fs: Read Raw Throughput (Mbytes/sec)","am62xx_sk-fs: Read Raw CPU Load (%)" + "102400","10.23 (min 9.94, max 10.81)","1.13 (min 1.00, max 1.47)","10.76","0.95" + "262144","10.46 (min 9.98, max 11.05)","1.19 (min 1.05, max 1.57)","10.93","0.89" + "524288","10.56 (min 10.37, max 10.77)","1.24 (min 1.06, max 1.63)","11.20","1.07" + "1048576","10.42 (min 10.34, max 10.53)","1.23 (min 1.11, max 1.54)","11.49","1.01" + "5242880","10.45 (min 10.15, max 10.61)","1.14 (min 1.02, max 1.48)","12.00","0.97" +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am62xx_lp_sk-fs: Write Raw Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Write Raw CPU Load (%)","am62xx_lp_sk-fs: Read Raw Throughput (Mbytes/sec)","am62xx_lp_sk-fs: Read Raw CPU Load (%)" - - - + "102400","10.13 (min 9.86, max 10.54)","1.28 (min 1.11, max 1.65)","11.08","1.01" + "262144","10.25 (min 9.98, max 10.76)","1.35 (min 1.21, max 1.70)","10.86","1.24" + "524288","10.08 (min 9.89, max 10.17)","1.32 (min 1.20, max 1.70)","11.00","1.13" + "1048576","10.32 (min 10.16, max 10.51)","1.41 (min 1.21, max 1.72)","10.93","1.07" + "5242880","10.60 (min 10.51, max 10.73)","1.29 (min 1.13, max 1.73)","11.97","1.17" - +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am62xxsip_sk-fs: Write Raw Throughput (Mbytes/sec)","am62xxsip_sk-fs: Write Raw CPU Load (%)","am62xxsip_sk-fs: Read Raw Throughput (Mbytes/sec)","am62xxsip_sk-fs: Read Raw CPU Load (%)" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + "102400","10.33 (min 10.27, max 10.37)","1.57 (min 1.23, max 2.37)","10.84","0.98" + "262144","10.44 (min 10.28, max 10.54)","1.10 (min 0.84, max 1.31)","10.89","0.91" + "524288","10.19 (min 10.13, max 10.35)","0.76 (min 0.66, max 0.88)","11.24","1.05" + "1048576","10.42 (min 10.17, max 10.56)","0.86 (min 0.61, max 1.04)","11.26","1.02" + "5242880","10.84 (min 10.53, max 11.24)","0.72 (min 0.54, max 0.86)","12.02","1.03" The performance numbers were captured using the following: -- SanDisk 8GB MicroSDHC Class 10 Memory Card +- SanDisk Max Endurance SD card (SDSQQVR-032G-GN6IA) - Partition was mounted with async option +UBoot MMCSD +----------- - - -| - -UBoot MMC/SD Driver -------------------------- - - -AM62XX-SK -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +UBOOT MMCSD FAT +^^^^^^^^^^^^^^^ .. csv-table:: UBOOT MMCSD FAT :header: "File size (bytes in hex)","am62xx_sk-fs: Write Throughput (Kbytes/sec)","am62xx_sk-fs: Read Throughput (Kbytes/sec)" - "400000","39384.62","56888.89" - "800000","12245.14","70017.09" - "1000000","11033.00","79533.98" - - - + "400000","33032.26","56109.59" + "800000","16855.97","70017.09" + "1000000","13540.50","79149.76" .. csv-table:: UBOOT MMCSD FAT :header: "File size (bytes in hex)","am62xx_lp_sk-fs: Write Throughput (Kbytes/sec)","am62xx_lp_sk-fs: Read Throughput (Kbytes/sec)" - "400000","32000.00","56109.59" - "800000","57286.71","70017.09" - "1000000","18788.99","79149.76" - - - + "400000","40960.00","60235.29" + "800000","47906.43","73142.86" + "1000000","47352.60","81108.91" .. csv-table:: UBOOT MMCSD FAT :header: "File size (bytes in hex)","am62xxsip_sk-fs: Write Throughput (Kbytes/sec)","am62xxsip_sk-fs: Read Throughput (Kbytes/sec)" - "400000","15693.49","55351.35" - "800000","45765.36","68840.34" - "1000000","22692.52","78769.23" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + "400000","33032.26","57690.14" + "800000","37751.15","71234.78" + "1000000","47766.76","80709.36" +The performance numbers were captured using the following: +- SanDisk Max Endurance SD card (SDSQQVR-032G-GN6IA) +| +USB Driver +------------------------- +USB Device Controller +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. csv-table:: USBDEVICE HIGHSPEED SLAVE_READ_THROUGHPUT + :header: "Number of Blocks","am62xx_lp_sk-fs: Throughput (MB/sec)","am62xx_sk-fs: Throughput (MB/sec)" - - - - + "150","36.00","43.80" +.. csv-table:: USBDEVICE HIGHSPEED SLAVE_WRITE_THROUGHPUT + :header: "Number of Blocks","am62xx_lp_sk-fs: Throughput (MB/sec)","am62xx_sk-fs: Throughput (MB/sec)" + "150","34.00","42.60" | CRYPTO Driver ------------------------- - OpenSSL Performance ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. csv-table:: OpenSSL Performance :header: "Algorithm","Buffer Size (in bytes)","am62xxsip_sk-fs: throughput (KBytes/Sec)" - "aes-128-cbc","1024","24597.50" - "aes-128-cbc","16","385.46" - "aes-128-cbc","16384","124245.33" - "aes-128-cbc","256","6635.18" - "aes-128-cbc","64","1739.18" - "aes-128-cbc","8192","98197.50" - "aes-128-ecb","1024","24546.30" - "aes-128-ecb","16","385.70" - "aes-128-ecb","16384","130946.39" - "aes-128-ecb","256","6978.82" - "aes-128-ecb","64","1798.57" - "aes-128-ecb","8192","98312.19" - "aes-192-cbc","1024","24569.86" - "aes-192-cbc","16","385.77" - "aes-192-cbc","16384","117784.58" - "aes-192-cbc","256","6603.78" - "aes-192-cbc","64","1728.70" - "aes-192-cbc","8192","93285.03" - "aes-192-ecb","1024","24602.97" - "aes-192-ecb","16","390.62" - "aes-192-ecb","16384","121563.82" - "aes-192-ecb","256","6844.93" - "aes-192-ecb","64","1797.33" - "aes-192-ecb","8192","98121.05" - "aes-256-cbc","1024","24532.65" - "aes-256-cbc","16","386.05" - "aes-256-cbc","16384","108653.23" - "aes-256-cbc","256","6415.62" - "aes-256-cbc","64","1742.23" - "aes-256-cbc","8192","87635.29" - "aes-256-ecb","1024","24565.08" - "aes-256-ecb","16","390.44" - "aes-256-ecb","16384","114059.95" - "aes-256-ecb","256","6796.46" - "aes-256-ecb","64","1792.53" - "aes-256-ecb","8192","91944.28" - "sha256","1024","29849.94" - "sha256","16","505.45" - "sha256","16384","261352.11" - "sha256","256","7697.32" - "sha256","64","1954.41" - "sha256","8192","173222.57" - "sha512","1024","23266.99" - "sha512","16","481.34" - "sha512","16384","66218.67" - "sha512","256","6858.58" - "sha512","64","1925.91" - "sha512","8192","58791.25" - - - + "aes-128-cbc","1024","26023.25" + "aes-128-cbc","16","441.59" + "aes-128-cbc","16384","132983.47" + "aes-128-cbc","256","7625.73" + "aes-128-cbc","64","1963.05" + "aes-128-cbc","8192","102845.10" + "aes-128-ecb","1024","26712.41" + "aes-128-ecb","16","452.78" + "aes-128-ecb","16384","138040.66" + "aes-128-ecb","256","7874.99" + "aes-128-ecb","64","2030.57" + "aes-128-ecb","8192","106356.74" + "aes-192-cbc","1024","25901.74" + "aes-192-cbc","16","443.53" + "aes-192-cbc","16384","125539.67" + "aes-192-cbc","256","7525.72" + "aes-192-cbc","64","1961.39" + "aes-192-cbc","8192","98268.50" + "aes-192-ecb","1024","26521.26" + "aes-192-ecb","16","455.63" + "aes-192-ecb","16384","130864.47" + "aes-192-ecb","256","7845.80" + "aes-192-ecb","64","2021.14" + "aes-192-ecb","8192","102156.97" + "aes-256-cbc","1024","25711.27" + "aes-256-cbc","16","443.25" + "aes-256-cbc","16384","117118.29" + "aes-256-cbc","256","7470.42" + "aes-256-cbc","64","1974.08" + "aes-256-cbc","8192","93077.50" + "aes-256-ecb","1024","26374.49" + "aes-256-ecb","16","455.40" + "aes-256-ecb","16384","122115.41" + "aes-256-ecb","256","7746.56" + "aes-256-ecb","64","2024.85" + "aes-256-ecb","8192","97113.43" + "sha256","1024","31077.03" + "sha256","16","517.50" + "sha256","16384","265513.64" + "sha256","256","8112.04" + "sha256","64","2048.51" + "sha256","8192","175890.43" + "sha512","1024","23217.83" + "sha512","16","520.82" + "sha512","16384","67239.94" + "sha512","256","7507.88" + "sha512","64","2085.01" + "sha512","8192","59643.22" .. csv-table:: OpenSSL CPU Load :header: "Algorithm","am62xxsip_sk-fs: CPU Load" - "aes-128-cbc","39.00" - "aes-128-ecb","40.00" - "aes-192-cbc","38.00" - "aes-192-ecb","40.00" - "aes-256-cbc","38.00" - "aes-256-ecb","39.00" - "sha256","97.00" + "aes-128-cbc","38.00" + "aes-128-ecb","39.00" + "aes-192-cbc","37.00" + "aes-192-ecb","38.00" + "aes-256-cbc","37.00" + "aes-256-ecb","38.00" + "sha256","98.00" "sha512","97.00" - - -Listed for each algorithm are the code snippets used to run each - benchmark test. +Listed for each algorithm are the code snippets used to run each benchmark test. :: time -v openssl speed -elapsed -evp aes-128-cbc +IPSec Software Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. csv-table:: IPSec Software Performance + :header: "Algorithm","am62xx_sk-fs: Throughput (Mbps)","am62xx_sk-fs: Packets/Sec","am62xx_sk-fs: CPU Load","am62xxsip_sk-fs: Throughput (Mbps)","am62xxsip_sk-fs: Packets/Sec","am62xxsip_sk-fs: CPU Load" + + "aes128","109.70","9.00","52.24","129.50","11.00","52.63" + "aes192","103.40","9.00","52.10","258.70","23.00","27.59" + "aes256","226.20","20.00","27.93" + | Low Power Performance diff --git a/source/devices/AM62X/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM62X/linux/RT_Linux_Performance_Guide.rst index 642b0a25e..cde5d8b87 100644 --- a/source/devices/AM62X/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM62X/linux/RT_Linux_Performance_Guide.rst @@ -1,6 +1,6 @@ -=========================== - RT-linux Performance Guide -=========================== +====================================== + RT-linux 10.01 Performance Guide +====================================== .. rubric:: **Read This First** @@ -34,10 +34,14 @@ with drivers included in a particular release. :name: if-you-need-assistance-rt-kernel-perf-guide For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ +https://e2e.ti.com/ or https://support.ti.com/ + +| + +System Benchmarks +------------------------- Stress-ng and Cyclic Test -^^^^^^^^^^^^^^^^^^^^^^^^^ .. _RT-linux-performance: diff --git a/source/devices/AM64X/linux/Linux_Performance_Guide.rst b/source/devices/AM64X/linux/Linux_Performance_Guide.rst index e97397948..20bebb6a4 100644 --- a/source/devices/AM64X/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM64X/linux/Linux_Performance_Guide.rst @@ -1,6 +1,6 @@ -*********************** -Linux Performance Guide -*********************** +====================================== + Linux 10.01 Performance Guide +====================================== .. rubric:: **Read This First** @@ -22,4 +22,4 @@ This document provides performance data for each of the device drivers which are .. rubric:: If You Need Assistance For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ +https://e2e.ti.com/ or https://support.ti.com/ diff --git a/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst index 5673ee28d..41332508f 100644 --- a/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst @@ -1,5 +1,5 @@ ====================================== - RT-linux 10.00 Performance Guide + RT-linux 10.01 Performance Guide ====================================== .. rubric:: **Read This First** @@ -14,7 +14,6 @@ following Evaluation Modules unless otherwise specified.** | AM64x EVM | AM64x Evaluation Module rev E1 with ARM running at 1GHz, DDR data rate 1600 MT/S | +----------------+---------------------------------------------------------------------------------------------------------------------+ - Table: Evaluation Modules .. rubric:: About This Manual @@ -30,9 +29,7 @@ with drivers included in a particular release. :name: if-you-need-assistance-rt-kernel-perf-guide For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ - - +https://e2e.ti.com/ or https://support.ti.com/ | @@ -74,8 +71,8 @@ LMBench LMBench is a collection of microbenchmarks of which the memory bandwidth and latency related ones are typically used to estimate processor memory system performance. More information about lmbench at -http://lmbench.sourceforge.net/whatis_lmbench.html and -http://lmbench.sourceforge.net/man/lmbench.8.html +https://lmbench.sourceforge.net/whatis_lmbench.html and +https://lmbench.sourceforge.net/man/lmbench.8.html **Latency**: lat_mem_rd-stride128-szN, where N is equal to or smaller than the cache size at given level measures the cache miss penalty. N that is at least @@ -97,75 +94,75 @@ Execute the LMBench with the following: .. csv-table:: LMBench Benchmarks :header: "Benchmarks","am64xx-hsevm: perf" - "af_unix_sock_stream_latency (microsec)","34.97" - "af_unix_socket_stream_bandwidth (MBs)","565.33" - "bw_file_rd-io-1mb (MB/s)","822.77" - "bw_file_rd-o2c-1mb (MB/s)","492.61" - "bw_mem-bcopy-16mb (MB/s)","870.94" - "bw_mem-bcopy-1mb (MB/s)","931.79" - "bw_mem-bcopy-2mb (MB/s)","905.25" - "bw_mem-bcopy-4mb (MB/s)","896.16" - "bw_mem-bcopy-8mb (MB/s)","1003.01" - "bw_mem-bzero-16mb (MB/s)","2116.68" - "bw_mem-bzero-1mb (MB/s)","1524.85 (min 931.79, max 2117.90)" - "bw_mem-bzero-2mb (MB/s)","1510.83 (min 905.25, max 2116.40)" - "bw_mem-bzero-4mb (MB/s)","1506.28 (min 896.16, max 2116.40)" - "bw_mem-bzero-8mb (MB/s)","1560.69 (min 1003.01, max 2118.36)" - "bw_mem-cp-16mb (MB/s)","516.98" - "bw_mem-cp-1mb (MB/s)","1561.64 (min 530.69, max 2592.59)" - "bw_mem-cp-2mb (MB/s)","1439.93 (min 528.75, max 2351.10)" - "bw_mem-cp-4mb (MB/s)","1376.79 (min 521.85, max 2231.73)" - "bw_mem-cp-8mb (MB/s)","1376.15 (min 591.89, max 2160.41)" - "bw_mem-fcp-16mb (MB/s)","885.49" - "bw_mem-fcp-1mb (MB/s)","1607.20 (min 1096.49, max 2117.90)" - "bw_mem-fcp-2mb (MB/s)","1548.32 (min 980.23, max 2116.40)" - "bw_mem-fcp-4mb (MB/s)","1557.27 (min 998.13, max 2116.40)" - "bw_mem-fcp-8mb (MB/s)","1600.82 (min 1083.28, max 2118.36)" - "bw_mem-frd-16mb (MB/s)","1293.14" - "bw_mem-frd-1mb (MB/s)","1196.34 (min 1096.49, max 1296.18)" - "bw_mem-frd-2mb (MB/s)","1137.58 (min 980.23, max 1294.92)" - "bw_mem-frd-4mb (MB/s)","1146.53 (min 998.13, max 1294.92)" - "bw_mem-frd-8mb (MB/s)","1190.78 (min 1083.28, max 1298.28)" - "bw_mem-fwr-16mb (MB/s)","2114.16" - "bw_mem-fwr-1mb (MB/s)","1944.39 (min 1296.18, max 2592.59)" - "bw_mem-fwr-2mb (MB/s)","1823.01 (min 1294.92, max 2351.10)" - "bw_mem-fwr-4mb (MB/s)","1763.33 (min 1294.92, max 2231.73)" - "bw_mem-fwr-8mb (MB/s)","1729.35 (min 1298.28, max 2160.41)" - "bw_mem-rd-16mb (MB/s)","1352.49" - "bw_mem-rd-1mb (MB/s)","1104.06 (min 841.47, max 1366.65)" - "bw_mem-rd-2mb (MB/s)","1098.91 (min 842.58, max 1355.24)" - "bw_mem-rd-4mb (MB/s)","1100.89 (min 839.37, max 1362.40)" - "bw_mem-rd-8mb (MB/s)","1110.39 (min 871.93, max 1348.85)" - "bw_mem-rdwr-16mb (MB/s)","878.49" - "bw_mem-rdwr-1mb (MB/s)","684.74 (min 530.69, max 838.79)" - "bw_mem-rdwr-2mb (MB/s)","675.39 (min 528.75, max 822.03)" - "bw_mem-rdwr-4mb (MB/s)","672.03 (min 521.85, max 822.20)" - "bw_mem-rdwr-8mb (MB/s)","722.80 (min 591.89, max 853.70)" - "bw_mem-wr-16mb (MB/s)","900.04" - "bw_mem-wr-1mb (MB/s)","840.13 (min 838.79, max 841.47)" - "bw_mem-wr-2mb (MB/s)","832.31 (min 822.03, max 842.58)" - "bw_mem-wr-4mb (MB/s)","830.79 (min 822.20, max 839.37)" - "bw_mem-wr-8mb (MB/s)","862.82 (min 853.70, max 871.93)" - "bw_mmap_rd-mo-1mb (MB/s)","1244.44" - "bw_mmap_rd-o2c-1mb (MB/s)","493.10" - "bw_pipe (MB/s)","539.16" - "bw_unix (MB/s)","565.33" - "lat_connect (us)","74.47" - "lat_ctx-2-128k (us)","6.35" - "lat_ctx-2-256k (us)","19.78" - "lat_ctx-4-128k (us)","6.93" - "lat_ctx-4-256k (us)","3.52" - "lat_fs-0k (num_files)","194.00" - "lat_fs-10k (num_files)","92.00" - "lat_fs-1k (num_files)","131.00" - "lat_fs-4k (num_files)","124.00" - "lat_mem_rd-stride128-sz1000k (ns)","48.11" - "lat_mem_rd-stride128-sz125k (ns)","7.80" - "lat_mem_rd-stride128-sz250k (ns)","13.79" - "lat_mem_rd-stride128-sz31k (ns)","3.06" - "lat_mem_rd-stride128-sz50 (ns)","3.02" - "lat_mem_rd-stride128-sz500k (ns)","43.46" - "lat_mem_rd-stride128-sz62k (ns)","7.36" + "af_unix_sock_stream_latency (microsec)","37.24" + "af_unix_socket_stream_bandwidth (MBs)","560.42" + "bw_file_rd-io-1mb (MB/s)","852.66" + "bw_file_rd-o2c-1mb (MB/s)","491.72" + "bw_mem-bcopy-16mb (MB/s)","844.28" + "bw_mem-bcopy-1mb (MB/s)","963.70" + "bw_mem-bcopy-2mb (MB/s)","939.70" + "bw_mem-bcopy-4mb (MB/s)","993.42" + "bw_mem-bcopy-8mb (MB/s)","1038.56" + "bw_mem-bzero-16mb (MB/s)","2120.33" + "bw_mem-bzero-1mb (MB/s)","1537.82 (min 963.70, max 2111.93)" + "bw_mem-bzero-2mb (MB/s)","1529.74 (min 939.70, max 2119.77)" + "bw_mem-bzero-4mb (MB/s)","1556.78 (min 993.42, max 2120.14)" + "bw_mem-bzero-8mb (MB/s)","1578.89 (min 1038.56, max 2119.21)" + "bw_mem-cp-16mb (MB/s)","519.83" + "bw_mem-cp-1mb (MB/s)","1595.51 (min 531.44, max 2659.57)" + "bw_mem-cp-2mb (MB/s)","1453.00 (min 528.82, max 2377.18)" + "bw_mem-cp-4mb (MB/s)","1388.31 (min 548.62, max 2228.00)" + "bw_mem-cp-8mb (MB/s)","1380.94 (min 597.95, max 2163.92)" + "bw_mem-fcp-16mb (MB/s)","895.10" + "bw_mem-fcp-1mb (MB/s)","1609.47 (min 1107.01, max 2111.93)" + "bw_mem-fcp-2mb (MB/s)","1599.46 (min 1079.14, max 2119.77)" + "bw_mem-fcp-4mb (MB/s)","1573.62 (min 1027.09, max 2120.14)" + "bw_mem-fcp-8mb (MB/s)","1592.66 (min 1066.10, max 2119.21)" + "bw_mem-frd-16mb (MB/s)","1274.39" + "bw_mem-frd-1mb (MB/s)","1200.22 (min 1107.01, max 1293.42)" + "bw_mem-frd-2mb (MB/s)","1207.35 (min 1079.14, max 1335.56)" + "bw_mem-frd-4mb (MB/s)","1194.63 (min 1027.09, max 1362.17)" + "bw_mem-frd-8mb (MB/s)","1210.10 (min 1066.10, max 1354.10)" + "bw_mem-fwr-16mb (MB/s)","2130.49" + "bw_mem-fwr-1mb (MB/s)","1976.50 (min 1293.42, max 2659.57)" + "bw_mem-fwr-2mb (MB/s)","1856.37 (min 1335.56, max 2377.18)" + "bw_mem-fwr-4mb (MB/s)","1795.09 (min 1362.17, max 2228.00)" + "bw_mem-fwr-8mb (MB/s)","1759.01 (min 1354.10, max 2163.92)" + "bw_mem-rd-16mb (MB/s)","1361.01" + "bw_mem-rd-1mb (MB/s)","1105.38 (min 859.40, max 1351.35)" + "bw_mem-rd-2mb (MB/s)","1107.70 (min 843.41, max 1371.98)" + "bw_mem-rd-4mb (MB/s)","1104.06 (min 856.07, max 1352.04)" + "bw_mem-rd-8mb (MB/s)","1121.62 (min 890.97, max 1352.27)" + "bw_mem-rdwr-16mb (MB/s)","876.71" + "bw_mem-rdwr-1mb (MB/s)","672.03 (min 531.44, max 812.61)" + "bw_mem-rdwr-2mb (MB/s)","664.04 (min 528.82, max 799.25)" + "bw_mem-rdwr-4mb (MB/s)","677.29 (min 548.62, max 805.96)" + "bw_mem-rdwr-8mb (MB/s)","713.49 (min 597.95, max 829.02)" + "bw_mem-wr-16mb (MB/s)","895.26" + "bw_mem-wr-1mb (MB/s)","836.01 (min 812.61, max 859.40)" + "bw_mem-wr-2mb (MB/s)","821.33 (min 799.25, max 843.41)" + "bw_mem-wr-4mb (MB/s)","831.02 (min 805.96, max 856.07)" + "bw_mem-wr-8mb (MB/s)","860.00 (min 829.02, max 890.97)" + "bw_mmap_rd-mo-1mb (MB/s)","1297.98" + "bw_mmap_rd-o2c-1mb (MB/s)","489.96" + "bw_pipe (MB/s)","540.92" + "bw_unix (MB/s)","560.42" + "lat_connect (us)","86.38" + "lat_ctx-2-128k (us)","5.52" + "lat_ctx-2-256k (us)","19.77" + "lat_ctx-4-128k (us)","6.16" + "lat_ctx-4-256k (us)","0.00" + "lat_fs-0k (num_files)","147.00" + "lat_fs-10k (num_files)","77.00" + "lat_fs-1k (num_files)","112.00" + "lat_fs-4k (num_files)","105.00" + "lat_mem_rd-stride128-sz1000k (ns)","48.17" + "lat_mem_rd-stride128-sz125k (ns)","7.85" + "lat_mem_rd-stride128-sz250k (ns)","14.06" + "lat_mem_rd-stride128-sz31k (ns)","5.13" + "lat_mem_rd-stride128-sz50 (ns)","3.01" + "lat_mem_rd-stride128-sz500k (ns)","43.77" + "lat_mem_rd-stride128-sz62k (ns)","7.38" "lat_mmap-1m (us)","77.00" "lat_ops-double-add (ns)","4.02" "lat_ops-double-div (ns)","22.11" @@ -177,44 +174,41 @@ Execute the LMBench with the following: "lat_ops-int-bit (ns)","0.67" "lat_ops-int-div (ns)","6.03" "lat_ops-int-mod (ns)","6.37" - "lat_ops-int-mul (ns)","4.37" + "lat_ops-int-mul (ns)","4.32" "lat_ops-int64-add (ns)","1.01" "lat_ops-int64-bit (ns)","0.67" - "lat_ops-int64-div (ns)","9.55" + "lat_ops-int64-div (ns)","9.54" "lat_ops-int64-mod (ns)","7.37" - "lat_ops-int64-mul (ns)","5.03" - "lat_pagefault (us)","1.66" - "lat_pipe (us)","22.51" - "lat_proc-exec (us)","1308.40" - "lat_proc-fork (us)","961.50" + "lat_ops-int64-mul (ns)","4.99" + "lat_pagefault (us)","1.55" + "lat_pipe (us)","23.89" + "lat_proc-exec (us)","1316.80" + "lat_proc-fork (us)","993.00" "lat_proc-proccall (us)","0.01" - "lat_select (us)","47.34" - "lat_sem (us)","2.62" - "lat_sig-catch (us)","6.10" - "lat_sig-install (us)","0.96" - "lat_sig-prot (us)","1.32" - "lat_syscall-fstat (us)","2.26" + "lat_select (us)","48.89" + "lat_sem (us)","2.09" + "lat_sig-catch (us)","5.86" + "lat_sig-install (us)","0.90" + "lat_sig-prot (us)","1.38" + "lat_syscall-fstat (us)","2.71" "lat_syscall-null (us)","0.58" - "lat_syscall-open (us)","372.33" - "lat_syscall-read (us)","0.91" - "lat_syscall-stat (us)","6.78" - "lat_syscall-write (us)","0.77" - "lat_tcp (us)","1.18" - "lat_unix (us)","34.97" - "latency_for_0.50_mb_block_size (nanosec)","43.46" - "latency_for_1.00_mb_block_size (nanosec)","24.06 (min 0.00, max 48.11)" - "pipe_bandwidth (MBs)","539.16" - "pipe_latency (microsec)","22.51" + "lat_syscall-open (us)","400.53" + "lat_syscall-read (us)","1.01" + "lat_syscall-stat (us)","6.89" + "lat_syscall-write (us)","1.02" + "lat_tcp (us)","1.21" + "lat_unix (us)","37.24" + "latency_for_0.50_mb_block_size (nanosec)","43.77" + "latency_for_1.00_mb_block_size (nanosec)","24.09 (min 0.00, max 48.17)" + "pipe_bandwidth (MBs)","540.92" + "pipe_latency (microsec)","23.89" "procedure_call (microsec)","0.01" - "select_on_200_tcp_fds (microsec)","47.34" - "semaphore_latency (microsec)","2.62" - "signal_handler_latency (microsec)","0.96" - "signal_handler_overhead (microsec)","6.10" - "tcp_ip_connection_cost_to_localhost (microsec)","74.47" - "tcp_latency_using_localhost (microsec)","1.18" - - - + "select_on_200_tcp_fds (microsec)","48.89" + "semaphore_latency (microsec)","2.09" + "signal_handler_latency (microsec)","0.90" + "signal_handler_overhead (microsec)","5.86" + "tcp_ip_connection_cost_to_localhost (microsec)","86.38" + "tcp_latency_using_localhost (microsec)","1.21" Dhrystone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -229,19 +223,13 @@ cores the DMIPS/MHz score will be identical with the same compiler and flags. "dhrystone_per_mhz (DMIPS/MHz)","2.90" "dhrystone_per_second (DhrystoneP)","5128205.00" - - - Whetstone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. csv-table:: Whetstone Benchmarks :header: "Benchmarks","am64xx-hsevm: perf" - "whetstone (MIPS)","3333.30" - - - + "whetstone (MIPS)","5000.00" Linpack ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -251,12 +239,7 @@ solving a dense linear system. .. csv-table:: Linpack Benchmarks :header: "Benchmarks","am64xx-hsevm: perf" - "linpack (Kflops)","408633.00" - - - - - + "linpack (Kflops)","408074.00" Stream ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -273,13 +256,10 @@ resulting in a score that is double the bandwidth LMBench will show. .. csv-table:: Stream Benchmarks :header: "Benchmarks","am64xx-hsevm: perf" - "add (MB/s)","1621.30" - "copy (MB/s)","2089.50" - "scale (MB/s)","2258.00" - "triad (MB/s)","1620.00" - - - + "add (MB/s)","1626.90" + "copy (MB/s)","2112.60" + "scale (MB/s)","2263.80" + "triad (MB/s)","1625.90" CoreMarkPro ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -289,46 +269,81 @@ While CoreMark stresses the CPU pipeline, CoreMark-Pro tests the entire processo adding comprehensive support for multicore technology, a combination of integer and floating-point workloads, and data sets for utilizing larger memory subsystems. - .. csv-table:: CoreMarkPro Benchmarks :header: "Benchmarks","am64xx-hsevm: perf" - "cjpeg-rose7-preset (workloads/)","29.50" + "cjpeg-rose7-preset (workloads/)","29.76" "core (workloads/)","0.21" - "coremark-pro ()","590.21" - "linear_alg-mid-100x100-sp (workloads/)","10.43" + "coremark-pro ()","589.26" + "linear_alg-mid-100x100-sp (workloads/)","10.41" "loops-all-mid-10k-sp (workloads/)","0.48" "nnet_test (workloads/)","0.77" - "parser-125k (workloads/)","5.62" - "radix2-big-64k (workloads/)","20.31" - "sha-test (workloads/)","57.80" + "parser-125k (workloads/)","5.65" + "radix2-big-64k (workloads/)","19.66" + "sha-test (workloads/)","58.14" "zip-test (workloads/)","15.63" +MultiBench +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +MultiBench™ is a suite of benchmarks that allows processor and system designers to +analyze, test, and improve multicore processors. It uses three forms of concurrency: +Data decomposition: multiple threads cooperating on achieving a unified goal and +demonstrating a processor’s support for fine grain parallelism. +Processing multiple data streams: uses common code running over multiple threads and +demonstrating how well a processor scales over scalable data inputs. +Multiple workload processing: shows the scalability of general-purpose processing, +demonstrating concurrency over both code and data. +MultiBench combines a wide variety of application-specific workloads with the EEMBC +Multi-Instance-Test Harness (MITH), compatible and portable with most any multicore +processors and operating systems. MITH uses a thread-based API (POSIX-compliant) to +establish a common programming model that communicates with the benchmark through an +abstraction layer and provides a flexible interface to allow a wide variety of +thread-enabled workloads to be tested. + +.. csv-table:: Multibench Benchmarks + :header: "Benchmarks","am64xx-hsevm: perf" - - - - - - - - - - - - - - - - - - - - - - - - + "4m-check (workloads/)","285.16" + "4m-check-reassembly (workloads/)","64.06" + "4m-check-reassembly-tcp (workloads/)","37.15" + "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","14.70" + "4m-check-reassembly-tcp-x264w2 (workloads/)","0.75" + "4m-cmykw2 (workloads/)","86.39" + "4m-cmykw2-rotatew2 (workloads/)","18.43" + "4m-reassembly (workloads/)","57.08" + "4m-rotatew2 (workloads/)","19.74" + "4m-tcp-mixed (workloads/)","86.02" + "4m-x264w2 (workloads/)","0.77" + "empty-wld (workloads/)","1.00" + "idct-4m (workloads/)","13.71" + "idct-4mw1 (workloads/)","13.71" + "ippktcheck-4m (workloads/)","285.36" + "ippktcheck-4mw1 (workloads/)","285.52" + "ipres-4m (workloads/)","73.10" + "ipres-4mw1 (workloads/)","72.67" + "md5-4m (workloads/)","20.81" + "md5-4mw1 (workloads/)","21.35" + "rgbcmyk-4m (workloads/)","44.85" + "rgbcmyk-4mw1 (workloads/)","44.88" + "rotate-4ms1 (workloads/)","16.82" + "rotate-4ms1w1 (workloads/)","16.80" + "rotate-4ms64 (workloads/)","16.97" + "rotate-4ms64w1 (workloads/)","16.98" + "x264-4mq (workloads/)","0.41" + "x264-4mqw1 (workloads/)","0.41" + +Boot-time Measurement +--------------------- + +Boot media: MMCSD +^^^^^^^^^^^^^^^^^ + +.. csv-table:: Linux boot time MMCSD + :header: "Boot Configuration","am64xx-hsevm: Boot time in seconds: avg(min,max)" + + "Linux boot time from SD with default rootfs (20 boot cycles)","21.64 (min 20.54, max 22.65)" + +Boot time numbers [avg, min, max] are measured from "Starting kernel" to Linux prompt across 20 boot cycles. | @@ -399,74 +414,18 @@ Running the following commands will trigger netperf clients to measure UDP burst netperf -H -j -C -l 60 -t UDP_STREAM -b -w -- -m -k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE - CPSW/CPSW2g/CPSW3g Ethernet Driver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - CPSW3g: AM64x - .. rubric:: TCP Bidirectional Throughput :name: CPSW2g-tcp-bidirectional-throughput .. csv-table:: CPSW2g TCP Bidirectional Throughput :header: "Command Used","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1132.27","99.03" - - - - -.. rubric:: TCP Bidirectional Throughput Interrupt Pacing - :name: CPSW2g-tcp-bidirectional-throughput-interrupt-pacing - -.. csv-table:: CPSW2g TCP Bidirectional Throughput Interrupt Pacing - :header: "Command Used","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)" - - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1243.94","79.58" - - - - -.. rubric:: UDP Throughput - :name: CPSW2g-udp-throughput-0-loss - -.. csv-table:: CPSW2g UDP Egress Throughput 0 loss - :header: "Frame Size(bytes)","am64xx-hsevm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: Packets Per Second (kPPS)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)" - - "64","18.00","12.14","84.00","88.30" - "128","82.00","54.18","83.00","89.33" - "256","210.00","97.96","58.00","67.25" - "1024","978.00","575.14","74.00","92.40" - "1518","1472.00","828.30","70.00","89.95" - - - - -.. csv-table:: CPSW2g UDP Ingress Throughput 0 loss - :header: "Frame Size(bytes)","am64xx-hsevm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: Packets Per Second (kPPS)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)" - - "64","18.00","1.12","8.00","0.16" - "128","82.00","5.12","8.00","0.11" - "256","210.00","13.44","8.00","4.66" - "1024","978.00","67.28","9.00","0.21" - "1518","1472.00","97.74","8.00","8.42" - - - - -.. csv-table:: CPSW2g UDP Ingress Throughput possible loss - :header: "Frame Size(bytes)","am64xx-hsevm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: Packets Per Second (kPPS)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)","am64xx-hsevm: Packet Loss %" - - "64","18.00","18.13","126.00","75.43","67.04" - "128","82.00","80.59","123.00","77.11","76.52" - "256","210.00","111.34","66.00","65.16","58.55" - "1024","978.00","875.45","112.00","85.16","6.55" - "1518","1472.00","911.43","77.00","82.74","4.77" - - - - + "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1095.34","98.12" ICSSG Ethernet Driver ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -477,10 +436,7 @@ ICSSG Ethernet Driver .. csv-table:: ICSSG TCP Bidirectional Throughput :header: "Command Used","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_MAERTS","844.83","99.92" - - - + "netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_MAERTS","183.94","37.22" .. rubric:: TCP Bidirectional Throughput Interrupt Pacing :name: ICSSG-tcp-bidirectional-throughput-interrupt-pacing @@ -488,27 +444,16 @@ ICSSG Ethernet Driver .. csv-table:: ICSSG TCP Bidirectional Throughput Interrupt Pacing :header: "Command Used","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_MAERTS","870.69","78.99" - - - - - + "netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_MAERTS","359.51","53.51" .. csv-table:: ICSSG UDP Ingress Throughput 0 loss :header: "Frame Size(bytes)","am64xx-hsevm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: Packets Per Second (kPPS)","am64xx-hsevm: CPU Load %" - "64","18.00","13.84","29.14","90.54" - "128","82.00","61.76","64.58","91.48" - "256","210.00","152.83","79.24","91.51" - "1024","978.00","659.92","80.73","92.60" - "1518","1472.00","951.78","78.37","92.78" - - - - - - + "64","18.00","3.27","23.00","18.94" + "128","82.00","15.28","23.00","18.93" + "256","210.00","32.93","20.00","17.54" + "1024","978.00","213.50","27.00","40.65" + "1518","1472.00","374.91","32.00","44.99" | @@ -521,269 +466,220 @@ PCIe-ETH .. csv-table:: PCIe Ethernet performance :header: "TCP Window Size(Kbytes)","am64xx-hsevm: Bandwidth (Mbits/sec)" - "8","173" - "16","383" - "32","524" - "64","930" - "128","936" - "256","939" - -- Command: iperf3 -c $server_ip -w $window_size -- PCIe-Ethernet Card being used: Intel® 82574L Gigabit Ethernet Controller + "8","0.00" + "16","0.00" PCIe-NVMe-SSD ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AM64xx-EVM +""""""""""""""""""""""""""" + .. csv-table:: PCIE SSD EXT4 FIO 10G - :header: "Buffer size (bytes)","am64xx-hsevm: Write EXT4 Throughput (Mibytes/sec)","am64xx-hsevm: Write EXT4 CPU Load (%)","am64xx-hsevm: Read EXT4 Throughput (Mibytes/sec)","am64xx-hsevm: Read EXT4 CPU Load (%)" + :header: "Buffer size (bytes)","am64xx-hsevm: Write EXT4 Throughput (Mbytes/sec)","am64xx-hsevm: Write EXT4 CPU Load (%)","am64xx-hsevm: Read EXT4 Throughput (Mbytes/sec)","am64xx-hsevm: Read EXT4 CPU Load (%)" - "4k","81.4","51.17","126","50.86" - "256k","384.00","24.72","406.00","16.67" - "1m","384.00","17.43","407.00","13.70" - "4m","384.00","14.18","407.00","10.68" + "1m","373.00","19.47","398.00","13.84" + "4m","364.00","16.00","398.00","12.77" + "4k","78.30","51.37","90.40","46.75" + "256k","375.00","21.93","397.00","15.57" - Filesize used is: 10G - FIO command options: --ioengine=libaio --iodepth=4 --numjobs=1 --direct=1 --runtime=60 --time_based -- Negotiated Link Speed and Link Width: Speed 5GT/s, Width x1 -- SSD being used: Intel Optane NVMe SSD 900P +- Platform: Speed 8GT/s, Width x1 +- SSD being used: Lite-On Technology Corporation M8Pe Series NVMe SSD [14a4:22f1] (rev 01) | OSPI Flash Driver ------------------------- - AM64XX-EVM ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - RAW """"""""""""""""""""""""""" .. csv-table:: OSPI Raw Flash Driver :header: "File size (Mbytes)","am64xx-hsevm: Raw Read Throughput (Mbytes/sec)" - "50","138.89" - - - - - - - - - - - - - - - - - -| + "50","116.28" EMMC Driver -------------------------- - -.. warning:: +----------- +.. important:: - **IMPORTANT**: The performance numbers can be severely affected if the media is + 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. - - - - - - - - - -AM64XX-EVM -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +EMMC EXT4 FIO 1G +^^^^^^^^^^^^^^^^ .. csv-table:: EMMC EXT4 FIO 1G :header: "Buffer size (bytes)","am64xx-hsevm: Write EXT4 Throughput (Mbytes/sec)","am64xx-hsevm: Write EXT4 CPU Load (%)","am64xx-hsevm: Read EXT4 Throughput (Mbytes/sec)","am64xx-hsevm: Read EXT4 CPU Load (%)" - "1m","61.10","3.52","175.00","6.79" - "4m","61.20","2.66","175.00","4.96" - "4k","50.90","46.06","55.70","40.65" - "256k","61.00","5.45","174.00","7.66" - - - - + "1m","61.60","3.59","175.00","5.84" + "4m","61.70","2.65","175.00","5.02" + "4k","51.50","47.69","56.10","42.24" + "256k","61.50","5.13","174.00","8.18" +EMMC EXT4 +^^^^^^^^^ - - - - - - +.. csv-table:: EMMC EXT4 + :header: "Buffer size (bytes)","am64xx-hsevm: Write EXT4 Throughput (Mbytes/sec)","am64xx-hsevm: Write EXT4 CPU Load (%)","am64xx-hsevm: Read EXT4 Throughput (Mbytes/sec)","am64xx-hsevm: Read EXT4 CPU Load (%)" - + "102400","54.39 (min 51.41, max 55.34)","11.14 (min 9.84, max 15.23)","180.51","30.91" + "262144","53.42 (min 50.09, max 54.97)","10.55 (min 9.51, max 14.18)","173.07","31.03" + "524288","54.12 (min 51.22, max 55.43)","10.58 (min 9.42, max 14.25)","182.13","28.18" + "1048576","54.35 (min 51.25, max 55.19)","10.38 (min 9.21, max 14.22)","182.97","26.13" + "5242880","54.45 (min 51.44, max 55.48)","10.48 (min 9.26, max 14.07)","182.94","27.03" - +EMMC VFAT +^^^^^^^^^ - - +.. csv-table:: EMMC VFAT + :header: "Buffer size (bytes)","am64xx-hsevm: Write VFAT Throughput (Mbytes/sec)","am64xx-hsevm: Write VFAT CPU Load (%)","am64xx-hsevm: Read VFAT Throughput (Mbytes/sec)","am64xx-hsevm: Read VFAT CPU Load (%)" - + "102400","48.82 (min 40.94, max 50.98)","13.12 (min 11.49, max 19.09)","170.67","30.70" + "262144","50.98 (min 42.47, max 53.58)","13.51 (min 11.70, max 19.72)","158.23","29.03" + "524288","51.26 (min 42.72, max 53.89)","13.95 (min 11.83, max 19.47)","166.34","28.10" + "1048576","51.61 (min 42.95, max 53.97)","13.31 (min 11.54, max 19.55)","170.29","26.45" + "5242880","52.03 (min 43.35, max 54.33)","13.36 (min 11.66, max 19.54)","170.69","26.45" +UBoot EMMC Driver +----------------- +.. csv-table:: UBOOT EMMC RAW + :header: "File size (bytes in hex)","am64xx-hsevm: Write Throughput (Kbytes/sec)","am64xx-hsevm: Read Throughput (Kbytes/sec)" -| + "2000000","59795.62","168907.22" + "4000000","60346.22","172463.16" -MMC/SD Driver -------------------------- +MMCSD +----- -.. warning:: +.. important:: - **IMPORTANT**: The performance numbers can be severely affected if the media is + 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. - - - - - - - - - - - -AM64XX-EVM -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +MMC EXT4 FIO 1G +^^^^^^^^^^^^^^^ .. csv-table:: MMC EXT4 FIO 1G :header: "Buffer size (bytes)","am64xx-hsevm: Write EXT4 Throughput (Mbytes/sec)","am64xx-hsevm: Write EXT4 CPU Load (%)","am64xx-hsevm: Read EXT4 Throughput (Mbytes/sec)","am64xx-hsevm: Read EXT4 CPU Load (%)" - "1m","19.30","1.75","87.20","4.46" - "4m","18.60","1.40","85.60","3.23" - "4k","4.24","8.79","13.60","13.00" - "256k","18.30","2.49","82.70","4.52" - - - - - - - - - - - - + "1m","42.60","3.21","87.30","4.34" + "4m","42.00","2.43","82.30","3.11" + "4k","2.77","7.10","12.90","13.10" + "256k","38.40","4.29","84.00","5.09" - +MMC EXT4 +^^^^^^^^ - +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am64xx-hsevm: Write Raw Throughput (Mbytes/sec)","am64xx-hsevm: Write Raw CPU Load (%)","am64xx-hsevm: Read Raw Throughput (Mbytes/sec)","am64xx-hsevm: Read Raw CPU Load (%)" - + "102400","31.90 (min 30.56, max 33.46)","6.36 (min 5.54, max 8.81)","39.10","9.11" + "262144","29.00 (min 28.17, max 30.62)","6.17 (min 5.28, max 8.68)","40.23","7.20" + "524288","29.93 (min 29.14, max 30.39)","5.93 (min 4.99, max 8.46)","44.83","6.49" + "1048576","32.19 (min 31.35, max 32.45)","6.33 (min 5.27, max 9.45)","45.45","6.36" + "5242880","31.67 (min 30.97, max 32.28)","6.11 (min 5.41, max 8.61)","45.46","6.35" The performance numbers were captured using the following: -- SanDisk 8GB MicroSDHC Class 10 Memory Card +- SanDisk Max Endurance SD card (SDSQQVR-032G-GN6IA) - Partition was mounted with async option - - - - - - | CRYPTO Driver ------------------------- - OpenSSL Performance ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - .. csv-table:: OpenSSL Performance :header: "Algorithm","Buffer Size (in bytes)","am64xx-hsevm: throughput (KBytes/Sec)" - "aes-128-cbc","1024","23334.23" - "aes-128-cbc","16","356.12" - "aes-128-cbc","16384","140585.64" - "aes-128-cbc","256","6336.34" - "aes-128-cbc","64","1579.33" - "aes-128-cbc","8192","101840.21" - "aes-128-ecb","1024","23933.61" - "aes-128-ecb","16","338.18" - "aes-128-ecb","16384","145620.99" - "aes-128-ecb","256","6409.90" - "aes-128-ecb","64","1583.30" - "aes-128-ecb","8192","104958.63" - "aes-192-cbc","1024","23362.22" - "aes-192-cbc","16","354.55" - "aes-192-cbc","16384","131104.77" - "aes-192-cbc","256","6394.79" - "aes-192-cbc","64","1586.30" - "aes-192-cbc","8192","98713.60" - "aes-192-ecb","1024","21278.38" - "aes-192-ecb","16","363.35" - "aes-192-ecb","16384","136009.05" - "aes-192-ecb","256","6246.40" - "aes-192-ecb","64","1589.70" - "aes-192-ecb","8192","100027.05" - "aes-256-cbc","1024","21395.11" - "aes-256-cbc","16","355.57" - "aes-256-cbc","16384","123677.35" - "aes-256-cbc","256","5905.07" - "aes-256-cbc","64","1506.39" - "aes-256-cbc","8192","94658.56" - "aes-256-ecb","1024","23214.76" - "aes-256-ecb","16","338.69" - "aes-256-ecb","16384","129504.60" - "aes-256-ecb","256","5907.97" - "aes-256-ecb","64","1475.67" - "aes-256-ecb","8192","97487.53" - "sha256","1024","24079.36" - "sha256","16","403.53" - "sha256","16384","193380.35" - "sha256","256","6315.95" - "sha256","64","1599.79" - "sha256","8192","130351.10" - "sha512","1024","17104.55" - "sha512","16","388.51" - "sha512","16384","48103.42" - "sha512","256","5583.79" - "sha512","64","1551.77" - "sha512","8192","42786.82" - - - + "aes-128-cbc","1024","22478.85" + "aes-128-cbc","16","342.87" + "aes-128-cbc","16384","138341.03" + "aes-128-cbc","256","6090.67" + "aes-128-cbc","64","1529.79" + "aes-128-cbc","8192","100971.86" + "aes-128-ecb","1024","22976.17" + "aes-128-ecb","16","327.34" + "aes-128-ecb","16384","143545.69" + "aes-128-ecb","256","6251.69" + "aes-128-ecb","64","1488.15" + "aes-128-ecb","8192","104114.86" + "aes-192-cbc","1024","22419.80" + "aes-192-cbc","16","321.81" + "aes-192-cbc","16384","130542.25" + "aes-192-cbc","256","5873.41" + "aes-192-cbc","64","1418.67" + "aes-192-cbc","8192","96829.44" + "aes-192-ecb","1024","22828.71" + "aes-192-ecb","16","350.46" + "aes-192-ecb","16384","135375.53" + "aes-192-ecb","256","6228.05" + "aes-192-ecb","64","1539.82" + "aes-192-ecb","8192","98645.33" + "aes-256-cbc","1024","20705.62" + "aes-256-cbc","16","343.20" + "aes-256-cbc","16384","121896.96" + "aes-256-cbc","256","6080.17" + "aes-256-cbc","64","1531.48" + "aes-256-cbc","8192","91545.60" + "aes-256-ecb","1024","22881.96" + "aes-256-ecb","16","349.42" + "aes-256-ecb","16384","126686.55" + "aes-256-ecb","256","6222.85" + "aes-256-ecb","64","1507.82" + "aes-256-ecb","8192","95764.48" + "sha256","1024","23239.68" + "sha256","16","386.25" + "sha256","16384","191376.04" + "sha256","256","6049.37" + "sha256","64","1530.39" + "sha256","8192","127737.86" + "sha512","1024","16603.82" + "sha512","16","372.24" + "sha512","16384","47824.90" + "sha512","256","5363.71" + "sha512","64","1488.15" + "sha512","8192","42374.49" .. csv-table:: OpenSSL CPU Load :header: "Algorithm","am64xx-hsevm: CPU Load" "aes-128-cbc","46.00" "aes-128-ecb","47.00" - "aes-192-cbc","46.00" - "aes-192-ecb","46.00" - "aes-256-cbc","44.00" - "aes-256-ecb","45.00" + "aes-192-cbc","45.00" + "aes-192-ecb","47.00" + "aes-256-cbc","45.00" + "aes-256-ecb","47.00" "sha256","97.00" "sha512","97.00" - - Listed for each algorithm are the code snippets used to run each benchmark test. :: time -v openssl speed -elapsed -evp aes-128-cbc + +IPSec Software Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. csv-table:: IPSec Software Performance + :header: "Algorithm","am64xx-hsevm: Throughput (Mbps)","am64xx-hsevm: Packets/Sec","am64xx-hsevm: CPU Load" + + "3des","52.80","4.00","52.54" + "aes128","0.00","0.00","51.14" diff --git a/source/devices/AM65X/linux/Release_Specific_Performance_Guide.rst b/source/devices/AM65X/linux/Release_Specific_Performance_Guide.rst index 275d39d34..7fe1046a3 100644 --- a/source/devices/AM65X/linux/Release_Specific_Performance_Guide.rst +++ b/source/devices/AM65X/linux/Release_Specific_Performance_Guide.rst @@ -1,6 +1,6 @@ -************************************ -Performance Guide -************************************ +====================================== + Linux 09.03 Performance Guide +====================================== RT Kernel Performance Guide ================================= diff --git a/source/devices/AM65X/linux/_Release_Specific_RT_Kernel_Performance_Guide.rst b/source/devices/AM65X/linux/_Release_Specific_RT_Kernel_Performance_Guide.rst index b929351c6..a9688880f 100644 --- a/source/devices/AM65X/linux/_Release_Specific_RT_Kernel_Performance_Guide.rst +++ b/source/devices/AM65X/linux/_Release_Specific_RT_Kernel_Performance_Guide.rst @@ -1,6 +1,6 @@ ====================================== - RT-linux 09.02.00 Performance Guide + RT-linux 09.03 Performance Guide ====================================== .. rubric:: **Read This First** @@ -30,8 +30,7 @@ with drivers included in a particular release. :name: if-you-need-assistance-rt-kernel-perf-guide For further information or to report any problems, contact -http://e2e.ti.com/ or http://support.ti.com/ - +https://e2e.ti.com/ or https://support.ti.com/ | @@ -43,8 +42,8 @@ LMBench LMBench is a collection of microbenchmarks of which the memory bandwidth and latency related ones are typically used to estimate processor memory system performance. More information about lmbench at -http://lmbench.sourceforge.net/whatis_lmbench.html and -http://lmbench.sourceforge.net/man/lmbench.8.html +https://lmbench.sourceforge.net/whatis_lmbench.html and +https://lmbench.sourceforge.net/man/lmbench.8.html **Latency**: lat_mem_rd-stride128-szN, where N is equal to or smaller than the cache size at given level measures the cache miss penalty. N that is at least @@ -63,129 +62,142 @@ Execute the LMBench with the following: cd /opt/ltp ./runltp -P j721e-idk-gw -f ddt/lmbench -s LMBENCH_L_PERF_0001 -.. csv-table:: +.. csv-table:: LMBench Benchmarks :header: "Benchmarks","am654x-evm: perf" - "af_unix_sock_stream_latency (microsec)","73.33" - "af_unix_socket_stream_bandwidth (MBs)","1012.24" - "bw_file_rd-io-1mb (MB/s)","1093.29" - "bw_file_rd-o2c-1mb (MB/s)","649.25" - "bw_mem-bcopy-16mb (MB/s)","902.68" - "bw_mem-bcopy-1mb (MB/s)","1244.00" - "bw_mem-bcopy-2mb (MB/s)","970.40" - "bw_mem-bcopy-4mb (MB/s)","901.71" - "bw_mem-bcopy-8mb (MB/s)","909.40" - "bw_mem-bzero-16mb (MB/s)","2013.85" - "bw_mem-bzero-1mb (MB/s)","2842.43 (min 1244.00, max 4440.86)" - "bw_mem-bzero-2mb (MB/s)","2187.17 (min 970.40, max 3403.93)" - "bw_mem-bzero-4mb (MB/s)","1605.43 (min 901.71, max 2309.14)" - "bw_mem-bzero-8mb (MB/s)","1479.82 (min 909.40, max 2050.23)" - "bw_mem-cp-16mb (MB/s)","583.41" - "bw_mem-cp-1mb (MB/s)","1371.07 (min 764.67, max 1977.46)" - "bw_mem-cp-2mb (MB/s)","853.00 (min 621.21, max 1084.79)" - "bw_mem-cp-4mb (MB/s)","715.12 (min 582.24, max 848.00)" - "bw_mem-cp-8mb (MB/s)","696.44 (min 595.02, max 797.85)" - "bw_mem-fcp-16mb (MB/s)","891.91" - "bw_mem-fcp-1mb (MB/s)","2801.15 (min 1161.44, max 4440.86)" - "bw_mem-fcp-2mb (MB/s)","2186.31 (min 968.68, max 3403.93)" - "bw_mem-fcp-4mb (MB/s)","1602.85 (min 896.56, max 2309.14)" - "bw_mem-fcp-8mb (MB/s)","1476.02 (min 901.81, max 2050.23)" - "bw_mem-frd-16mb (MB/s)","1150.42" - "bw_mem-frd-1mb (MB/s)","1346.86 (min 1161.44, max 1532.27)" - "bw_mem-frd-2mb (MB/s)","1166.24 (min 968.68, max 1363.79)" - "bw_mem-frd-4mb (MB/s)","1056.56 (min 896.56, max 1216.55)" - "bw_mem-frd-8mb (MB/s)","1055.14 (min 901.81, max 1208.46)" - "bw_mem-fwr-16mb (MB/s)","791.45" - "bw_mem-fwr-1mb (MB/s)","1754.87 (min 1532.27, max 1977.46)" - "bw_mem-fwr-2mb (MB/s)","1224.29 (min 1084.79, max 1363.79)" - "bw_mem-fwr-4mb (MB/s)","1032.28 (min 848.00, max 1216.55)" - "bw_mem-fwr-8mb (MB/s)","1003.16 (min 797.85, max 1208.46)" - "bw_mem-rd-16mb (MB/s)","1208.00" - "bw_mem-rd-1mb (MB/s)","3308.61 (min 3272.73, max 3344.48)" - "bw_mem-rd-2mb (MB/s)","1428.14 (min 1322.53, max 1533.74)" - "bw_mem-rd-4mb (MB/s)","1126.77 (min 975.37, max 1278.16)" - "bw_mem-rd-8mb (MB/s)","1056.99 (min 900.39, max 1213.59)" - "bw_mem-rdwr-16mb (MB/s)","853.65" - "bw_mem-rdwr-1mb (MB/s)","1835.83 (min 764.67, max 2906.98)" - "bw_mem-rdwr-2mb (MB/s)","940.83 (min 621.21, max 1260.44)" - "bw_mem-rdwr-4mb (MB/s)","757.43 (min 582.24, max 932.62)" - "bw_mem-rdwr-8mb (MB/s)","729.57 (min 595.02, max 864.12)" - "bw_mem-wr-16mb (MB/s)","893.56" - "bw_mem-wr-1mb (MB/s)","3089.86 (min 2906.98, max 3272.73)" - "bw_mem-wr-2mb (MB/s)","1291.49 (min 1260.44, max 1322.53)" - "bw_mem-wr-4mb (MB/s)","954.00 (min 932.62, max 975.37)" - "bw_mem-wr-8mb (MB/s)","882.26 (min 864.12, max 900.39)" - "bw_mmap_rd-mo-1mb (MB/s)","2721.83" - "bw_mmap_rd-o2c-1mb (MB/s)","709.47" - "bw_pipe (MB/s)","480.79" - "bw_unix (MB/s)","1012.24" - "lat_connect (us)","91.28" - "lat_ctx-2-128k (us)","11.95" - "lat_ctx-2-256k (us)","9.22" - "lat_ctx-4-128k (us)","7.82" - "lat_ctx-4-256k (us)","5.75" - "lat_fs-0k (num_files)","185.00" + "af_unix_sock_stream_latency (microsec)","76.85" + "af_unix_socket_stream_bandwidth (MBs)","961.20" + "bw_file_rd-io-1mb (MB/s)","1090.12" + "bw_file_rd-o2c-1mb (MB/s)","656.17" + "bw_mem-bcopy-16mb (MB/s)","899.63" + "bw_mem-bcopy-1mb (MB/s)","1236.75" + "bw_mem-bcopy-2mb (MB/s)","954.65" + "bw_mem-bcopy-4mb (MB/s)","903.85" + "bw_mem-bcopy-8mb (MB/s)","906.00" + "bw_mem-bzero-16mb (MB/s)","2020.71" + "bw_mem-bzero-1mb (MB/s)","2849.72 (min 1236.75, max 4462.69)" + "bw_mem-bzero-2mb (MB/s)","2188.68 (min 954.65, max 3422.70)" + "bw_mem-bzero-4mb (MB/s)","1606.22 (min 903.85, max 2308.58)" + "bw_mem-bzero-8mb (MB/s)","1477.46 (min 906.00, max 2048.92)" + "bw_mem-cp-16mb (MB/s)","583.03" + "bw_mem-cp-1mb (MB/s)","1361.31 (min 759.73, max 1962.88)" + "bw_mem-cp-2mb (MB/s)","841.95 (min 612.65, max 1071.24)" + "bw_mem-cp-4mb (MB/s)","714.13 (min 584.11, max 844.15)" + "bw_mem-cp-8mb (MB/s)","692.07 (min 596.04, max 788.10)" + "bw_mem-fcp-16mb (MB/s)","901.26" + "bw_mem-fcp-1mb (MB/s)","2798.88 (min 1135.07, max 4462.69)" + "bw_mem-fcp-2mb (MB/s)","2188.22 (min 953.74, max 3422.70)" + "bw_mem-fcp-4mb (MB/s)","1602.37 (min 896.16, max 2308.58)" + "bw_mem-fcp-8mb (MB/s)","1471.04 (min 893.16, max 2048.92)" + "bw_mem-frd-16mb (MB/s)","1179.85" + "bw_mem-frd-1mb (MB/s)","1346.89 (min 1135.07, max 1558.71)" + "bw_mem-frd-2mb (MB/s)","1158.42 (min 953.74, max 1363.09)" + "bw_mem-frd-4mb (MB/s)","1068.81 (min 896.16, max 1241.46)" + "bw_mem-frd-8mb (MB/s)","1027.39 (min 893.16, max 1161.61)" + "bw_mem-fwr-16mb (MB/s)","783.93" + "bw_mem-fwr-1mb (MB/s)","1760.80 (min 1558.71, max 1962.88)" + "bw_mem-fwr-2mb (MB/s)","1217.17 (min 1071.24, max 1363.09)" + "bw_mem-fwr-4mb (MB/s)","1042.81 (min 844.15, max 1241.46)" + "bw_mem-fwr-8mb (MB/s)","974.86 (min 788.10, max 1161.61)" + "bw_mem-rd-16mb (MB/s)","1213.78" + "bw_mem-rd-1mb (MB/s)","3375.84 (min 3297.13, max 3454.55)" + "bw_mem-rd-2mb (MB/s)","1441.25 (min 1335.11, max 1547.39)" + "bw_mem-rd-4mb (MB/s)","1125.80 (min 973.24, max 1278.36)" + "bw_mem-rd-8mb (MB/s)","1055.49 (min 901.41, max 1209.56)" + "bw_mem-rdwr-16mb (MB/s)","854.38" + "bw_mem-rdwr-1mb (MB/s)","1796.80 (min 759.73, max 2833.86)" + "bw_mem-rdwr-2mb (MB/s)","916.27 (min 612.65, max 1219.88)" + "bw_mem-rdwr-4mb (MB/s)","760.61 (min 584.11, max 937.10)" + "bw_mem-rdwr-8mb (MB/s)","729.85 (min 596.04, max 863.65)" + "bw_mem-wr-16mb (MB/s)","894.75" + "bw_mem-wr-1mb (MB/s)","3144.21 (min 2833.86, max 3454.55)" + "bw_mem-wr-2mb (MB/s)","1277.50 (min 1219.88, max 1335.11)" + "bw_mem-wr-4mb (MB/s)","955.17 (min 937.10, max 973.24)" + "bw_mem-wr-8mb (MB/s)","882.53 (min 863.65, max 901.41)" + "bw_mmap_rd-mo-1mb (MB/s)","2692.83" + "bw_mmap_rd-o2c-1mb (MB/s)","721.63" + "bw_pipe (MB/s)","463.04" + "bw_unix (MB/s)","961.20" + "lat_connect (us)","91.54" + "lat_ctx-2-128k (us)","11.69" + "lat_ctx-2-256k (us)","10.23" + "lat_ctx-4-128k (us)","5.15" + "lat_ctx-4-256k (us)","4.32" + "lat_fs-0k (num_files)","200.00" "lat_fs-10k (num_files)","88.00" - "lat_fs-1k (num_files)","122.00" - "lat_fs-4k (num_files)","122.00" - "lat_mem_rd-stride128-sz1000k (ns)","23.29" - "lat_mem_rd-stride128-sz125k (ns)","9.81" - "lat_mem_rd-stride128-sz250k (ns)","10.28" - "lat_mem_rd-stride128-sz31k (ns)","7.36" + "lat_fs-1k (num_files)","120.00" + "lat_fs-4k (num_files)","118.00" + "lat_mem_rd-stride128-sz1000k (ns)","22.67" + "lat_mem_rd-stride128-sz125k (ns)","9.78" + "lat_mem_rd-stride128-sz250k (ns)","10.29" + "lat_mem_rd-stride128-sz31k (ns)","6.42" "lat_mem_rd-stride128-sz50 (ns)","3.77" - "lat_mem_rd-stride128-sz500k (ns)","11.95" + "lat_mem_rd-stride128-sz500k (ns)","11.18" "lat_mem_rd-stride128-sz62k (ns)","9.19" - "lat_mmap-1m (us)","80.00" - "lat_ops-double-add (ns)","5.03" - "lat_ops-double-div (ns)","27.69" + "lat_mmap-1m (us)","94.00" + "lat_ops-double-add (ns)","5.04" + "lat_ops-double-div (ns)","27.70" "lat_ops-double-mul (ns)","5.03" "lat_ops-float-add (ns)","5.03" - "lat_ops-float-div (ns)","16.36" - "lat_ops-float-mul (ns)","5.03" + "lat_ops-float-div (ns)","16.40" + "lat_ops-float-mul (ns)","5.04" "lat_ops-int-add (ns)","1.26" "lat_ops-int-bit (ns)","0.84" "lat_ops-int-div (ns)","7.55" - "lat_ops-int-mod (ns)","7.97" - "lat_ops-int-mul (ns)","5.42" + "lat_ops-int-mod (ns)","7.98" + "lat_ops-int-mul (ns)","5.41" "lat_ops-int64-add (ns)","1.26" "lat_ops-int64-bit (ns)","0.84" - "lat_ops-int64-div (ns)","11.99" - "lat_ops-int64-mod (ns)","9.25" - "lat_ops-int64-mul (ns)","6.38" - "lat_pagefault (us)","1.31" - "lat_pipe (us)","37.56" - "lat_proc-exec (us)","920.83" - "lat_proc-fork (us)","774.86" + "lat_ops-int64-div (ns)","12.00" + "lat_ops-int64-mod (ns)","9.22" + "lat_ops-int64-mul (ns)","6.41" + "lat_pagefault (us)","1.30" + "lat_pipe (us)","37.35" + "lat_proc-exec (us)","934.67" + "lat_proc-fork (us)","790.00" "lat_proc-proccall (us)","0.02" - "lat_select (us)","58.34" - "lat_sem (us)","4.65" - "lat_sig-catch (us)","7.40" - "lat_sig-install (us)","1.14" - "lat_sig-prot (us)","0.60" - "lat_syscall-fstat (us)","5.39" + "lat_select (us)","55.17" + "lat_sem (us)","4.97" + "lat_sig-catch (us)","7.14" + "lat_sig-install (us)","1.21" + "lat_sig-prot (us)","0.46" + "lat_syscall-fstat (us)","5.82" "lat_syscall-null (us)","0.71" - "lat_syscall-open (us)","253.50" - "lat_syscall-read (us)","1.14" - "lat_syscall-stat (us)","6.86" - "lat_syscall-write (us)","0.97" - "lat_tcp (us)","1.41" - "lat_unix (us)","73.33" - "latency_for_0.50_mb_block_size (nanosec)","11.95" - "latency_for_1.00_mb_block_size (nanosec)","11.65 (min 0.00, max 23.29)" - "pipe_bandwidth (MBs)","480.79" - "pipe_latency (microsec)","37.56" + "lat_syscall-open (us)","223.26" + "lat_syscall-read (us)","1.20" + "lat_syscall-stat (us)","7.52" + "lat_syscall-write (us)","1.05" + "lat_tcp (us)","1.45" + "lat_unix (us)","76.85" + "latency_for_0.50_mb_block_size (nanosec)","11.18" + "latency_for_1.00_mb_block_size (nanosec)","11.33 (min 0.00, max 22.67)" + "pipe_bandwidth (MBs)","463.04" + "pipe_latency (microsec)","37.35" "procedure_call (microsec)","0.02" - "select_on_200_tcp_fds (microsec)","58.34" - "semaphore_latency (microsec)","4.65" - "signal_handler_latency (microsec)","1.14" - "signal_handler_overhead (microsec)","7.40" - "tcp_ip_connection_cost_to_localhost (microsec)","91.28" - "tcp_latency_using_localhost (microsec)","1.41" + "select_on_200_tcp_fds (microsec)","55.17" + "semaphore_latency (microsec)","4.97" + "signal_handler_latency (microsec)","1.21" + "signal_handler_overhead (microsec)","7.14" + "tcp_ip_connection_cost_to_localhost (microsec)","91.54" + "tcp_latency_using_localhost (microsec)","1.45" + +Dhrystone +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Dhrystone is a core only benchmark that runs from warm L1 caches in all +modern processors. It scales linearly with clock speed. For standard ARM +cores the DMIPS/MHz score will be identical with the same compiler and flags. + +.. csv-table:: Dhrystone Benchmarks + :header: "Benchmarks","am654x-evm: perf" + + "cpu_clock (MHz)","800.00" + "dhrystone_per_mhz (DMIPS/MHz)","2.90" + "dhrystone_per_second (DhrystoneP)","4081632.80" Whetstone ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. csv-table:: +.. csv-table:: Whetstone Benchmarks :header: "Benchmarks","am654x-evm: perf" "whetstone (MIPS)","3333.30" @@ -195,10 +207,10 @@ Linpack Linpack measures peak double precision (64 bit) floating point performance in solving a dense linear system. -.. csv-table:: +.. csv-table:: Linpack Benchmarks :header: "Benchmarks","am654x-evm: perf" - "linpack (Kflops)","327968.00" + "linpack (Kflops)","326161.00" NBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -208,18 +220,18 @@ More information about NBench at https://en.wikipedia.org/wiki/NBench and https://nbench.io/articles/index.html -.. csv-table:: +.. csv-table:: NBench Benchmarks :header: "Benchmarks","am654x-evm: perf" - "assignment (Iterations)","7.88" - "fourier (Iterations)","12859.00" - "fp_emulation (Iterations)","52.44" - "huffman (Iterations)","663.85" - "idea (Iterations)","1957.30" - "lu_decomposition (Iterations)","303.07" + "assignment (Iterations)","7.89" + "fourier (Iterations)","12739.00" + "fp_emulation (Iterations)","52.31" + "huffman (Iterations)","657.98" + "idea (Iterations)","1882.20" + "lu_decomposition (Iterations)","306.17" "neural_net (Iterations)","5.01" - "numeric_sort (Iterations)","339.27" - "string_sort (Iterations)","93.80" + "numeric_sort (Iterations)","339.56" + "string_sort (Iterations)","88.18" Stream ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -233,13 +245,13 @@ add two numbers, and triad for multiply accumulate. For bandwidth, a byte read counts as one and a byte written counts as one, resulting in a score that is double the bandwidth LMBench will show. -.. csv-table:: +.. csv-table:: Stream Benchmarks :header: "Benchmarks","am654x-evm: perf" - "add (MB/s)","1590.10" - "copy (MB/s)","1839.90" - "scale (MB/s)","1817.50" - "triad (MB/s)","1497.10" + "add (MB/s)","1590.20" + "copy (MB/s)","1835.60" + "scale (MB/s)","1816.80" + "triad (MB/s)","1497.60" MultiBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -258,31 +270,31 @@ establish a common programming model that communicates with the benchmark throug abstraction layer and provides a flexible interface to allow a wide variety of thread-enabled workloads to be tested. -.. csv-table:: +.. csv-table:: Multibench Benchmarks :header: "Benchmarks","am654x-evm: perf" - "4m-check (workloads/)","314.70" - "4m-check-reassembly (workloads/)","78.80" - "4m-check-reassembly-tcp (workloads/)","36.98" - "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","11.02" - "4m-check-reassembly-tcp-x264w2 (workloads/)","1.13" - "4m-cmykw2 (workloads/)","139.76" - "4m-cmykw2-rotatew2 (workloads/)","10.45" - "4m-reassembly (workloads/)","57.74" - "4m-rotatew2 (workloads/)","13.86" - "4m-tcp-mixed (workloads/)","67.23" - "4m-x264w2 (workloads/)","1.15" + "4m-check (workloads/)","314.62" + "4m-check-reassembly (workloads/)","77.88" + "4m-check-reassembly-tcp (workloads/)","36.87" + "4m-check-reassembly-tcp-cmykw2-rotatew2 (workloads/)","12.05" + "4m-check-reassembly-tcp-x264w2 (workloads/)","1.14" + "4m-cmykw2 (workloads/)","139.37" + "4m-cmykw2-rotatew2 (workloads/)","15.74" + "4m-reassembly (workloads/)","57.64" + "4m-rotatew2 (workloads/)","12.44" + "4m-tcp-mixed (workloads/)","69.87" + "4m-x264w2 (workloads/)","1.16" "empty-wld (workloads/)","1.00" "idct-4m (workloads/)","10.98" - "idct-4mw1 (workloads/)","10.98" - "ippktcheck-4m (workloads/)","314.66" - "ippktcheck-4mw1 (workloads/)","315.10" - "ipres-4m (workloads/)","68.00" - "ipres-4mw1 (workloads/)","68.09" - "md5-4m (workloads/)","16.98" - "md5-4mw1 (workloads/)","16.97" - "rgbcmyk-4m (workloads/)","36.44" - "rgbcmyk-4mw1 (workloads/)","36.42" + "idct-4mw1 (workloads/)","10.99" + "ippktcheck-4m (workloads/)","314.23" + "ippktcheck-4mw1 (workloads/)","313.21" + "ipres-4m (workloads/)","68.40" + "ipres-4mw1 (workloads/)","68.37" + "md5-4m (workloads/)","17.06" + "md5-4mw1 (workloads/)","17.02" + "rgbcmyk-4m (workloads/)","36.39" + "rgbcmyk-4mw1 (workloads/)","36.39" "rotate-4ms1 (workloads/)","14.24" "rotate-4ms1w1 (workloads/)","14.24" "rotate-4ms64 (workloads/)","14.38" @@ -290,19 +302,18 @@ thread-enabled workloads to be tested. "x264-4mq (workloads/)","0.33" "x264-4mqw1 (workloads/)","0.33" -| - Boot-time Measurement -------------------------- +--------------------- Boot media: MMCSD -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^ + +.. csv-table:: Linux boot time MMCSD + :header: "Boot Configuration","am654x-evm: Boot time in seconds: avg(min,max)" -.. csv-table:: - :header: "Boot Configuration","am654x-evm: boot time (sec)" + "Linux boot time from SD with default rootfs (20 boot cycles)","16.45 (min 16.01, max 16.77)" - "Kernel boot time test when bootloader, kernel and sdk-rootfs are in mmc-sd","18.19 (min 17.30, max 19.42)" - "Kernel boot time test when init is /bin/sh and bootloader, kernel and sdk-rootfs are in mmc-sd","4.41 (min 4.38, max 4.42)" +Boot time numbers [avg, min, max] are measured from "Starting kernel" to Linux prompt across 20 boot cycles. | @@ -373,105 +384,211 @@ Running the following commands will trigger netperf clients to measure UDP burst netperf -H -j -C -l 60 -t UDP_STREAM -b -w -- -m -k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE -CPSW/CPSW2g/CPSW3g Ethernet Driver -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -- CPSW2g: AM65x, J7200, J721e -- CPSW3g: AM64x +ICSSG Ethernet Driver +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. rubric:: TCP Bidirectional Throughput Interrupt Pacing - :name: CPSW2g-tcp-bidirectional-throughput-interrupt-pacing +.. rubric:: TCP Bidirectional Throughput + :name: tcp-bidirectional-throughput -.. csv-table:: +.. csv-table:: ICSSG TCP Bidirectional Throughput :header: "Command Used","am654x-evm: THROUGHPUT (Mbits/sec)","am654x-evm: CPU Load % (LOCAL_CPU_UTIL)" - "netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.0.1 -j -c -C -l 60 -t TCP_MAERTS","1385.92","33.09" + "netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_MAERTS","1021.47","45.64" -.. rubric:: UDP Throughput - :name: CPSW2g-udp-throughput-0-loss +.. csv-table:: ICSSG UDP Ingress Throughput 0 loss + :header: "Frame Size(bytes)","am654x-evm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am654x-evm: THROUGHPUT (Mbits/sec)","am654x-evm: Packets Per Second (kPPS)","am654x-evm: CPU Load %" -Table: **CPSW2g UDP Egress Throughput 0 loss** + "256","210.00","21.34","13.00","7.80" -.. csv-table:: - :header: "Frame Size(bytes)","am654x-evm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am654x-evm: THROUGHPUT (Mbits/sec)","am654x-evm: Packets Per Second (kPPS)","am654x-evm: CPU Load % (LOCAL_CPU_UTIL)" +| - "64","18.00","10.59","74.00","46.60" - "128","82.00","47.45","72.00","46.85" - "256","210.00","120.51","72.00","46.18" - "1024","978.00","612.40","78.00","44.89" - "1518","1472.00","788.20","67.00","47.67" +PCIe Driver +------------------------- -Table: **CPSW2g UDP Ingress Throughput 0 loss** +PCIe-ETH +^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. csv-table:: - :header: "Frame Size(bytes)","am654x-evm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am654x-evm: THROUGHPUT (Mbits/sec)","am654x-evm: Packets Per Second (kPPS)","am654x-evm: CPU Load % (LOCAL_CPU_UTIL)" +.. csv-table:: PCIe Ethernet performance + :header: "TCP Window Size(Kbytes)","am654x-evm: Bandwidth (Mbits/sec)" - "64","18.00","3.61","25.00","12.00" - "128","82.00","16.60","25.00","12.50" - "256","210.00","44.01","26.00","13.19" - "1518","1472.00","317.95","27.00","14.15" + "8","0.00" + "16","0.00" + "32","0.00" + "64","0.00" + "128","0.00" + "256","0.00" -Table: **CPSW2g UDP Ingress Throughput possible loss** +EMMC Driver +----------- +.. important:: -.. csv-table:: - :header: "Frame Size(bytes)","am654x-evm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am654x-evm: THROUGHPUT (Mbits/sec)","am654x-evm: Packets Per Second (kPPS)","am654x-evm: CPU Load % (LOCAL_CPU_UTIL)","am654x-evm: Packet Loss %" + 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. - "64","18.00","14.53","101.00","41.73","51.72" - "128","82.00","65.91","100.00","42.26","51.42" - "256","210.00","166.18","99.00","44.19","50.23" - "1518","1472.00","949.03","81.00","41.85","0.84" +EMMC EXT4 FIO 1G +^^^^^^^^^^^^^^^^ -ICSSG Ethernet Driver -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. csv-table:: EMMC EXT4 FIO 1G + :header: "Buffer size (bytes)","am654x-evm: Write EXT4 Throughput (Mbytes/sec)","am654x-evm: Write EXT4 CPU Load (%)","am654x-evm: Read EXT4 Throughput (Mbytes/sec)","am654x-evm: Read EXT4 CPU Load (%)" -.. rubric:: TCP Bidirectional Throughput - :name: tcp-bidirectional-throughput + "1m","60.70","1.11","175.00","1.48" + "4m","60.80","1.06","175.00","1.25" + "4k","49.40","28.86","55.80","32.01" + "256k","60.60","1.34","174.00","2.75" -.. csv-table:: - :header: "Command Used","am654x-evm: THROUGHPUT (Mbits/sec)","am654x-evm: CPU Load % (LOCAL_CPU_UTIL)" +UBoot EMMC Driver +----------------- - "netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_MAERTS","1071.12","48.59" +.. csv-table:: UBOOT EMMC RAW + :header: "File size (bytes in hex)","am654x-evm: Write Throughput (Kbytes/sec)","am654x-evm: Read Throughput (Kbytes/sec)" -.. rubric:: TCP Bidirectional Throughput Interrupt Pacing - :name: ICSSG-tcp-bidirectional-throughput-interrupt-pacing + "2000000","61248.60","173375.66" + "4000000","61077.35","177604.34" -Table: **ICSSG TCP Bidirectional Throughput Interrupt Pacing** +MMCSD +----- -.. csv-table:: - :header: "Command Used","am654x-evm: THROUGHPUT (Mbits/sec)","am654x-evm: CPU Load % (LOCAL_CPU_UTIL)" +.. important:: - "netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_STREAM; netperf -H 192.168.2.1 -j -c -C -l 60 -t TCP_MAERTS","1111.40","49.09" + 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. -Table: **ICSSG UDP Ingress Throughput 0 loss** +MMC EXT4 +^^^^^^^^ -.. csv-table:: - :header: "Frame Size(bytes)","am654x-evm: UDP Datagram Size(bytes) (LOCAL_SEND_SIZE)","am654x-evm: THROUGHPUT (Mbits/sec)","am654x-evm: Packets Per Second (kPPS)","am654x-evm: CPU Load %" +.. csv-table:: MMC EXT4 + :header: "Buffer size (bytes)","am654x-evm: Write Raw Throughput (Mbytes/sec)","am654x-evm: Write Raw CPU Load (%)","am654x-evm: Read Raw Throughput (Mbytes/sec)","am654x-evm: Read Raw CPU Load (%)" - "256","210.00","32.59","19.00","10.54" + "102400","15.03 (min 14.47, max 15.44)","2.07 (min 1.64, max 3.53)","21.22","1.73" + "262144","15.05 (min 14.67, max 15.41)","2.03 (min 1.65, max 3.43)","23.27","1.78" + "524288","15.14 (min 14.32, max 15.50)","2.05 (min 1.61, max 3.28)","23.65","1.70" + "1048576","15.37 (min 14.60, max 16.08)","1.97 (min 1.65, max 3.07)","23.84","1.71" + "5242880","15.25 (min 14.55, max 15.63)","2.01 (min 1.64, max 3.03)","23.83","1.88" -| +The performance numbers were captured using the following: -PCIe Driver -------------------------- +- SanDisk 8GB MicroSDHC Class 10 Memory Card +- Partition was mounted with async option -PCIe-ETH -^^^^^^^^^^^^^^^^^^^^^^^^^^^ +UBoot MMCSD +----------- -.. csv-table:: - :header: "TCP Window Size(Kbytes)","am654x-evm: Bandwidth (Mbits/sec)" +UBOOT MMCSD FAT +^^^^^^^^^^^^^^^ - "128","0.00" - "256","0.00" +.. csv-table:: UBOOT MMCSD FAT + :header: "File size (bytes in hex)","am654x-evm: Write Throughput (Kbytes/sec)","am654x-evm: Read Throughput (Kbytes/sec)" + + "400000","18123.89","19980.49" + "800000","21167.96","21729.44" + "1000000","20634.76","22598.62" + +The performance numbers were captured using the following: + +- SanDisk 8GB MicroSDHC Class 10 Memory Card | CRYPTO Driver ------------------------- +OpenSSL Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. csv-table:: OpenSSL Performance + :header: "Algorithm","Buffer Size (in bytes)","am654x-evm: throughput (KBytes/Sec)" + + "aes-128-cbc","1024","15611.90" + "aes-128-cbc","16","245.21" + "aes-128-cbc","16384","113410.05" + "aes-128-cbc","256","4169.73" + "aes-128-cbc","64","1085.46" + "aes-128-cbc","8192","83722.24" + "aes-128-ecb","1024","15945.73" + "aes-128-ecb","16","259.56" + "aes-128-ecb","16384","121727.66" + "aes-128-ecb","256","3999.74" + "aes-128-ecb","64","1063.10" + "aes-128-ecb","8192","81619.63" + "aes-192-cbc","1024","15231.66" + "aes-192-cbc","16","256.90" + "aes-192-cbc","16384","114726.23" + "aes-192-cbc","256","3811.50" + "aes-192-cbc","64","1027.16" + "aes-192-cbc","8192","78921.73" + "aes-192-ecb","1024","14815.23" + "aes-192-ecb","16","271.24" + "aes-192-ecb","16384","117265.75" + "aes-192-ecb","256","4113.58" + "aes-192-ecb","64","1052.39" + "aes-192-ecb","8192","75014.14" + "aes-256-cbc","1024","14758.23" + "aes-256-cbc","16","275.32" + "aes-256-cbc","16384","111700.65" + "aes-256-cbc","256","4344.15" + "aes-256-cbc","64","1029.80" + "aes-256-cbc","8192","79162.03" + "aes-256-ecb","1024","15332.01" + "aes-256-ecb","16","264.85" + "aes-256-ecb","16384","113410.05" + "aes-256-ecb","256","4039.51" + "aes-256-ecb","64","1057.26" + "aes-256-ecb","8192","81207.30" + "des3","1024","14565.03" + "des3","16","258.01" + "des3","16384","74208.60" + "des3","256","4291.58" + "des3","64","1006.95" + "des3","8192","58821.29" + "sha1","1024","20338.69" + "sha1","16","341.55" + "sha1","16384","154910.72" + "sha1","256","5345.19" + "sha1","64","1354.24" + "sha1","8192","106455.04" + "sha256","1024","20236.63" + "sha256","16","337.02" + "sha256","16384","156942.34" + "sha256","256","5294.42" + "sha256","64","1339.54" + "sha256","8192","107151.36" + "sha512","1024","14032.90" + "sha512","16","327.79" + "sha512","16384","37120.68" + "sha512","256","4670.12" + "sha512","64","1313.79" + "sha512","8192","33385.13" + +.. csv-table:: OpenSSL CPU Load + :header: "Algorithm","am654x-evm: CPU Load" + + "aes-128-cbc","41.00" + "aes-128-ecb","43.00" + "aes-192-cbc","41.00" + "aes-192-ecb","42.00" + "aes-256-cbc","41.00" + "aes-256-ecb","41.00" + "des3","38.00" + "sha1","98.00" + "sha256","98.00" + "sha512","98.00" + +Listed for each algorithm are the code snippets used to run each benchmark test. + +:: + + time -v openssl speed -elapsed -evp aes-128-cbc + IPSec Software Performance ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. csv-table:: +.. csv-table:: IPSec Software Performance :header: "Algorithm","am654x-evm: Throughput (Mbps)","am654x-evm: Packets/Sec","am654x-evm: CPU Load" - "aes256","0.60","0.00","31.42" + "aes128","91.30","8.00","24.09"