1- ======================================
1+ ###################################
22RT-linux 12.00.00 Performance Guide
3- ======================================
3+ ###################################
44
5- .. rubric :: **Read This First**
6- :name: read-this-first-rt-kernel-perf-guide
5+ ***************
6+ Read This First
7+ ***************
78
89**All performance numbers provided in this document are gathered using
910following Evaluation Modules unless otherwise specified. **
@@ -16,29 +17,30 @@ following Evaluation Modules unless otherwise specified.**
1617
1718Table: Evaluation Modules
1819
19- .. rubric :: About This Manual
20- :name: about-this-manual-rt-kernel-perf-guide
20+ *****************
21+ About This Manual
22+ *****************
2123
2224This document provides performance data for each of the device drivers
2325which are part of the Processor SDK Linux package. This document should be
2426used in conjunction with release notes and user guides provided with the
2527Processor SDK Linux package for information on specific issues present
2628with drivers included in a particular release.
2729
28- .. rubric :: If You Need Assistance
29- :name: if-you-need-assistance-rt-kernel-perf-guide
30-
3130For further information or to report any problems, contact
3231https://e2e.ti.com/ or https://support.ti.com/
3332
3433|
3534
35+ *****************
3636System Benchmarks
37- -----------------
37+ *****************
3838
39+ |
3940
4041LMBench
41- ^^^^^^^
42+ =======
43+
4244LMBench is a collection of microbenchmarks of which the memory bandwidth
4345and latency related ones are typically used to estimate processor
4446memory system performance. More information about lmbench at
@@ -182,7 +184,8 @@ Execute the LMBench with the following:
182184 "tcp_latency_using_localhost (microsec)","0.97 (min 0.75, max 1.22)"
183185
184186Dhrystone
185- ^^^^^^^^^
187+ =========
188+
186189Dhrystone is a core only benchmark that runs from warm L1 caches in all
187190modern processors. It scales linearly with clock speed. For standard ARM
188191cores the DMIPS/MHz score will be identical with the same compiler and flags.
@@ -195,15 +198,16 @@ cores the DMIPS/MHz score will be identical with the same compiler and flags.
195198 "dhrystone_per_second (dhrystonep)","4855981.60 (min 4761905.00, max 5000000.00)"
196199
197200Whetstone
198- ^^^^^^^^^
201+ =========
199202
200203.. csv-table :: Whetstone Benchmarks
201204 :header: "Benchmarks","am64xx-hsevm: perf"
202205
203206 "whetstone (mips)","3611.08 (min 3333.30, max 5000.00)"
204207
205208Linpack
206- ^^^^^^^
209+ =======
210+
207211Linpack measures peak double precision (64 bit) floating point performance in
208212solving a dense linear system.
209213
@@ -213,7 +217,8 @@ solving a dense linear system.
213217 "linpack (kflops)","411621.33 (min 411424.00, max 411819.00)"
214218
215219CoreMarkPro
216- ^^^^^^^^^^^
220+ ===========
221+
217222CoreMark®-Pro is a comprehensive, advanced processor benchmark that works with
218223and enhances the market-proven industry-standard EEMBC CoreMark® benchmark.
219224While CoreMark stresses the CPU pipeline, CoreMark-Pro tests the entire processor,
@@ -248,11 +253,13 @@ and floating-point workloads, and data sets for utilizing larger memory subsyste
248253 "sha-test (workloads/)","114.94"
249254 "zip-test (workloads/)","26.01 (min 14.39, max 28.57)"
250255
256+ |
257+
251258Boot-time Measurement
252- ---------------------
259+ =====================
253260
254261Boot media: MMCSD
255- ^^^^^^^^^^^^^^^^^
262+ -----------------
256263
257264.. csv-table :: Linux boot time MMCSD
258265 :header: "Boot Configuration","am64xx-hsevm: Boot time in seconds: avg(min,max)"
@@ -264,7 +271,8 @@ Boot time numbers [avg, min, max] are measured from "Starting kernel" to Linux p
264271|
265272
266273Ethernet
267- --------
274+ ========
275+
268276Ethernet performance benchmarks were measured using :command: `netperf ` 2.7.1 https://hewlettpackard.github.io/netperf/doc/netperf.html
269277Test procedures were modeled after those defined in RFC-2544:
270278https://tools.ietf.org/html/rfc2544, where the DUT is the TI device
@@ -330,29 +338,29 @@ Running the following commands will trigger :command:`netperf` clients to measur
330338 netperf -H <DUT ip> -j -C -l 60 -t UDP_STREAM -b <burst_size> -w <wait_time> -- -m <UDP datagram size>
331339 -k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE
332340
333- CPSW/CPSW2g/CPSW3g Ethernet Driver
334- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
341+ CPSW/CPSW2g/CPSW3g Ethernet
342+ ---------------------------
335343
336344- CPSW3g: AM64x
337345
338- .. rubric :: TCP Bidirectional Throughput
339- :name: CPSW2g-tcp-bidirectional-throughput
346+ TCP Bidirectional Throughput
347+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
340348
341349.. csv-table :: CPSW2g TCP Bidirectional Throughput
342350 :header: "Command Used","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)"
343351
344352 "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","1100.48 (min 1064.93, max 1125.49)","99.80 (min 99.68, max 99.87)"
345353
346- .. rubric :: TCP Bidirectional Throughput Interrupt Pacing
347- :name: CPSW2g-tcp-bidirectional-throughput-interrupt-pacing
354+ TCP Bidirectional Throughput Interrupt Pacing
355+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
348356
349357.. csv-table :: CPSW2g TCP Bidirectional Throughput Interrupt Pacing
350358 :header: "Command Used","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)"
351359
352360 "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","1129.68 (min 1104.10, max 1180.26)","92.57 (min 77.95, max 98.21)"
353361
354- .. rubric :: UDP Throughput
355- :name: CPSW2g-udp-throughput-0-loss
362+ UDP Throughput
363+ ^^^^^^^^^^^^^^
356364
357365.. csv-table :: CPSW2g UDP Egress Throughput 0 loss
358366 :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)"
@@ -379,27 +387,27 @@ CPSW/CPSW2g/CPSW3g Ethernet Driver
379387 "1024","","586.35 (min 540.95, max 621.28)","71.67 (min 66.00, max 76.00)","66.59 (min 65.50, max 68.59)","30.88 (min 27.41, max 35.21)"
380388 "1518","","634.14 (min 592.61, max 686.45)","53.75 (min 50.00, max 58.00)","65.50 (min 64.50, max 66.73)","32.49 (min 28.27, max 35.88)"
381389
382- ICSSG Ethernet Driver
383- ^^^^^^^^^^^^^^^^^^^^^
390+ ICSSG Ethernet
391+ --------------
384392
385- .. rubric :: TCP Bidirectional Throughput
386- :name: tcp-bidirectional-throughput
393+ TCP Bidirectional Throughput
394+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
387395
388396.. csv-table :: ICSSG TCP Bidirectional Throughput
389397 :header: "Command Used","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)"
390398
391399 "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","812.01 (min 355.31, max 1121.74)","83.12 (min 74.78, max 99.72)"
392400
393- .. rubric :: TCP Bidirectional Throughput Interrupt Pacing
394- :name: ICSSG-tcp-bidirectional-throughput-interrupt-pacing
401+ TCP Bidirectional Throughput Interrupt Pacing
402+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
395403
396404.. csv-table :: ICSSG TCP Bidirectional Throughput Interrupt Pacing
397405 :header: "Command Used","am64xx-hsevm: THROUGHPUT (Mbits/sec)","am64xx-hsevm: CPU Load % (LOCAL_CPU_UTIL)"
398406
399407 "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","528.47 (min 363.92, max 1021.70)","50.15 (min 38.53, max 84.08)"
400408
401- .. rubric :: UDP Egress Throughput
402- :name: udp-egress-throughput-0-loss
409+ UDP Egress Throughput
410+ ^^^^^^^^^^^^^^^^^^^^^
403411
404412.. csv-table :: ICSSG UDP Egress Throughput 0 loss
405413 :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)"
@@ -410,8 +418,8 @@ ICSSG Ethernet Driver
410418 "1024","","421.89 (min 20.48, max 646.48)","51.67 (min 3.00, max 79.00)","59.85 (min 0.95, max 89.47)"
411419 "1472","","225.95 (min 9.42, max 866.11)","19.25 (min 1.00, max 74.00)","23.84 (min 0.19, max 88.88)"
412420
413- .. rubric :: UDP Ingress Throughput
414- :name: udp-ingress-throughput-0-loss
421+ UDP Ingress Throughput
422+ ^^^^^^^^^^^^^^^^^^^^^^
415423
416424.. csv-table :: ICSSG UDP Ingress Throughput 0 loss
417425 :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 %"
@@ -424,23 +432,22 @@ ICSSG Ethernet Driver
424432
425433|
426434
427- OSPI Flash Driver
428- -----------------
429-
430-
431- .. rubric :: AM64XX-EVM
432- :name: am64xx-evm-ospi
435+ OSPI
436+ ====
433437
434- .. rubric :: RAW
435- :name: am64xx-evm-ospi-raw
438+ OSPI RAW
439+ --------
436440
437441.. csv-table :: OSPI Raw Flash Driver
438442 :header: "File size (Mbytes)","am64xx-hsevm: Raw Read Throughput (Mbytes/sec)"
439443
440444 "50","120.03 (min 34.72, max 142.86)"
441445
442- EMMC Driver
443- -----------
446+ |
447+
448+ EMMC
449+ ====
450+
444451.. warning ::
445452
446453 **IMPORTANT **: The performance numbers can be severely affected if the media is
@@ -450,7 +457,7 @@ EMMC Driver
450457 re-mount in async mode.
451458
452459EMMC EXT4 FIO 1G
453- ^^^^^^^^^^^^^^^^
460+ ----------------
454461
455462.. csv-table :: EMMC EXT4 FIO 1G
456463 :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 (%)"
@@ -461,7 +468,7 @@ EMMC EXT4 FIO 1G
461468 "256k","60.88 (min 59.70, max 61.40)","5.90 (min 5.76, max 6.02)","174.00","8.94 (min 8.35, max 9.48)"
462469
463470EMMC EXT4
464- """""""""
471+ ---------
465472
466473.. csv-table :: EMMC EXT4
467474 :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 (%)"
@@ -473,7 +480,7 @@ EMMC EXT4
473480 "5242880","54.16 (min 49.90, max 55.64)","10.63 (min 9.14, max 14.63)","182.84 (min 182.76, max 182.90)","27.89 (min 27.03, max 28.57)"
474481
475482EMMC VFAT
476- """""""""
483+ ---------
477484
478485.. csv-table :: EMMC VFAT
479486 :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 (%)"
@@ -484,8 +491,8 @@ EMMC VFAT
484491 "1048576","48.91 (min 40.22, max 51.96)","13.10 (min 10.95, max 19.49)","166.64 (min 165.06, max 168.68)","27.83 (min 25.62, max 28.80)"
485492 "5242880","49.84 (min 40.55, max 54.04)","13.15 (min 11.19, max 19.67)","166.79 (min 165.93, max 167.42)","28.51 (min 27.87, max 29.03)"
486493
487- UBoot EMMC Driver
488- -----------------
494+ UBoot EMMC
495+ ----------
489496
490497.. csv-table :: UBOOT EMMC RAW
491498 :header: "File size (bytes in hex)","am64xx-hsevm: Write Throughput (Kbytes/sec)","am64xx-hsevm: Read Throughput (Kbytes/sec)"
@@ -494,7 +501,7 @@ UBoot EMMC Driver
494501 "4000000","60759.37 (min 59308.60, max 61651.93)","172614.84 (min 172463.16, max 172918.21)"
495502
496503MMCSD
497- -----
504+ =====
498505
499506.. warning ::
500507
@@ -505,8 +512,7 @@ MMCSD
505512 re-mount in async mode.
506513
507514MMC EXT4 FIO 1G
508- ^^^^^^^^^^^^^^^
509-
515+ ---------------
510516
511517.. csv-table :: MMC EXT4 FIO 1G
512518 :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 (%)"
@@ -517,7 +523,7 @@ MMC EXT4 FIO 1G
517523 "256k","38.15 (min 37.80, max 38.70)","4.64 (min 4.50, max 4.76)","83.47 (min 83.10, max 83.90)","6.51 (min 6.19, max 7.09)"
518524
519525MMC EXT4
520- ^^^^^^^^
526+ --------
521527
522528.. csv-table :: MMC EXT4
523529 :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 (%)"
@@ -535,11 +541,11 @@ The performance numbers were captured using the following:
535541
536542|
537543
538- CRYPTO Driver
539- -------------
544+ CRYPTO
545+ ======
540546
541547OpenSSL Performance
542- ^^^^^^^^^^^^^^^^^^^
548+ -------------------
543549
544550.. csv-table :: OpenSSL Performance
545551 :header: "Algorithm","Buffer Size (in bytes)","am64xx-hsevm: throughput (KBytes/Sec)"
0 commit comments