diff --git a/source/devices/AM437X/linux/Release_Specific_Performance_Guide.rst b/source/devices/AM437X/linux/Release_Specific_Performance_Guide.rst index dbe3a8eb9..46b13e06f 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 @@ -37,7 +36,6 @@ http://e2e.ti.com/ or http://support.ti.com/ System Benchmarks ------------------- - LMBench ^^^^^^^^^^^^^^^^^^^^^^^^^^^ LMBench is a collection of microbenchmarks of which the memory bandwidth @@ -46,7 +44,6 @@ memory system performance. More information about lmbench at http://lmbench.sourceforge.net/whatis_lmbench.html and http://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 +61,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 +195,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 +212,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 +235,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,113 +266,133 @@ 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" + "add (MB/s)","326.90" + "copy (MB/s)","433.20" + "scale (MB/s)","652.30" + "triad (MB/s)","380.80" +| -Table: **Stream** +ALSA SoC Audio Driver +------------------------- +#. Access type - RW\_INTERLEAVED +#. Channels - 2 +#. Format - S16\_LE +#. Period size - 64 + + +.. csv-table:: Audio Capture + :header: "Sampling Rate (Hz)","am43xx-gpevm: Throughput (bits/sec)","am43xx-gpevm: CPU Load (%)" + + "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","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" -Boot-time Measurement +| + +Graphics SGX/RGX Driver ------------------------- -Boot media: MMCSD +GLBenchmark ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. csv-table:: - :header: "Boot Configuration","am43xx-gpevm: boot time (sec)" +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 - "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)" -Table: **Boot time MMC/SD** +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)" +.. csv-table:: GLBenchmark 25 Offscreen Performance + :header: "Benchmark","am43xx-gpevm: Test Number","am43xx-gpevm: Fps" -ALSA SoC Audio Driver -------------------------- + "GLB25_EgyptTestC24Z16_ETC1_Offscreen test","2501011.00","3.00" + "GLB25_EgyptTestStandardOffscreen_inherited test","2000010.00","6.00" -#. Access type - RW\_INTERLEAVED -#. Channels - 2 -#. Format - S16\_LE -#. Period size - 64 +Vertex Throughput +""""""""""""""""""""""""""" +.. csv-table:: GLBenchmark 25 Vertex Throughput + :header: "Benchmark","am43xx-gpevm: Test Number","am43xx-gpevm: Rate (triangles/sec)" -.. csv-table:: - :header: "Sampling Rate (Hz)","am43xx-gpevm: Throughput (bits/sec)","am43xx-gpevm: CPU Load (%)" + "GLB25_TriangleTexFragmentLitTestC24Z16 test","2500511.00","2307343.50" + "GLB25_TriangleTexTestC24Z16 test","2500301.00","11125243.00" + "GLB25_TriangleTexVertexLitTestC24Z16 test","2500411.00","4215366.50" - "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" +Pixel Throughput +""""""""""""""""""""""""""" -Table: **Audio Capture** +.. 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)" -| +Glmark2 +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Run Glmark2 and capture performance reported (Score). All display outputs (HDMI, Displayport and/or LCD) are connected when running these tests -.. csv-table:: - :header: "Sampling Rate (Hz)","am43xx-gpevm: Throughput (bits/sec)","am43xx-gpevm: CPU Load (%)" +.. csv-table:: Glmark2 Performance + :header: "Benchmark","am43xx-gpevm: Score" - "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** - + "Glmark2-DRM","40.00" + "Glmark2-Wayland","62.00" | - - NAND Driver ------------------------- - - - - - AM43XX-GPEVM ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. csv-table:: +.. 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.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" - - - + "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" -MMC/SD Driver -------------------------- +MMCSD +----- .. warning:: @@ -408,109 +402,195 @@ MMC/SD Driver sensitive applications, umount the auto-mounted filesystem and re-mount in async mode. -| - - - +MMC EXT4 FIO 1G +^^^^^^^^^^^^^^^ - - -AM43XX-GPEVM -^^^^^^^^^^^^^^^^^^^^^^^^^^^ -| - -.. csv-table:: +.. 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","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" + "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" -| +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 MMC/SD Driver -------------------------- -| - - - +UBoot MMCSD +----------- +UBOOT MMCSD FAT +^^^^^^^^^^^^^^^ - -AM43XX-GPEVM -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. 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"