Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 115 additions & 0 deletions source/devices/AM62LX/linux/Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -429,6 +429,121 @@
"96000","3073222.00 (min 3073203.00, max 3073253.00)","0.57 (min 0.31, max 0.97)"


Ethernet
--------

Ethernet performance benchmarks were measured using :command:`netperf` 2.7.1 https://hewlettpackard.github.io/netperf/doc/netperf.html

Check warning on line 435 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'were measured' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'were measured' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 435, "column": 33}}}, "severity": "INFO"}

Check warning on line 435 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SentenceLength] Try to keep sentences to an average of 32 words or fewer. Raw Output: {"message": "[RedHat.SentenceLength] Try to keep sentences to an average of 32 words or fewer.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 435, "column": 1}}}, "severity": "INFO"}
Test procedures were modeled after those defined in RFC-2544:

Check warning on line 436 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'were modeled' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'were modeled' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 436, "column": 17}}}, "severity": "INFO"}
https://tools.ietf.org/html/rfc2544, where the DUT is the TI device

Check warning on line 437 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'DUT') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'DUT') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 437, "column": 48}}}, "severity": "INFO"}
and the "tester" used was a Linux PC. To produce consistent results,
it is recommended to carry out performance tests in a private network and to avoid

Check warning on line 439 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsWarnings] Consider using 'test' or 'run' rather than 'carry out' unless updating existing content that uses the term. Raw Output: {"message": "[RedHat.TermsWarnings] Consider using 'test' or 'run' rather than 'carry out' unless updating existing content that uses the term.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 439, "column": 22}}}, "severity": "WARNING"}

Check warning on line 439 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'is recommended' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'is recommended' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 439, "column": 4}}}, "severity": "INFO"}
running NFS on the same interface used in the test. In these results,
CPU utilization was captured as the total percentage used across all cores on the device,

Check warning on line 441 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'was captured' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'was captured' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 441, "column": 17}}}, "severity": "INFO"}

Check warning on line 441 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SimpleWords] Use simple language. Consider using 'use' rather than 'utilization'. Raw Output: {"message": "[RedHat.SimpleWords] Use simple language. Consider using 'use' rather than 'utilization'.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 441, "column": 5}}}, "severity": "INFO"}
while running the performance test over one external interface.

UDP Throughput (0% loss) was measured by the procedure defined in RFC-2544 section 26.1: Throughput.

Check warning on line 444 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'was measured' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'was measured' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 444, "column": 26}}}, "severity": "INFO"}
In this scenario, :command:`netperf` options burst_size (-b) and wait_time (-w) are used to limit bandwidth

Check warning on line 445 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SentenceLength] Try to keep sentences to an average of 32 words or fewer. Raw Output: {"message": "[RedHat.SentenceLength] Try to keep sentences to an average of 32 words or fewer.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 445, "column": 1}}}, "severity": "INFO"}
during different trials of the test, with the goal of finding the highest rate at which
no loss is seen. For example, to limit bandwidth to 500Mbits/sec with 1472B datagram:

.. code-block:: console

burst_size = <bandwidth (bits/sec)> / 8 (bits -> bytes) / <UDP datagram size> / 100 (seconds -> 10 ms)
burst_size = 500000000 / 8 / 1472 / 100 = 425

wait_time = 10 milliseconds (minimum supported by Linux PC used for testing)

UDP Throughput (possible loss) was measured by capturing throughput and packet loss statistics when
running the :command:`netperf` test with no bandwidth limit (remove -b/-w options).

The following commands were used to tune the socket buffer sizes on the DUT before running the performance tests:

.. code-block:: console

sysctl -w net.core.rmem_default=33554432
sysctl -w net.core.rmem_max=67108864

In order to start a :command:`netperf` client on one device, the other device must have :command:`netserver` running.
To start :command:`netserver`:

.. code-block:: console

netserver [-p <port_number>] [-4 (IPv4 addressing)] [-6 (IPv6 addressing)]

Running the following shell script from the DUT will trigger :command:`netperf` clients to measure
bidirectional TCP performance for 60 seconds and report CPU utilization. Parameter -k is used in
client commands to summarize selected statistics on their own line and -j is used to gain
additional timing measurements during the test.

.. code-block:: console

#!/bin/bash
for i in 1
do
netperf -H <tester ip> -j -c -l 60 -t TCP_STREAM --
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE &

netperf -H <tester ip> -j -c -l 60 -t TCP_MAERTS --
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE &
done

Running the following commands will trigger :command:`netperf` clients to measure UDP burst performance for
60 seconds at various burst/datagram sizes and report CPU utilization.

- For UDP egress tests, run :command:`netperf` client from DUT and start :command:`netserver` on tester.

.. code-block:: console

netperf -H <tester ip> -j -c -l 60 -t UDP_STREAM -b <burst_size> -w <wait_time> -- -m <UDP datagram size>
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE

- For UDP ingress tests, run :command:`netperf` client from tester and start :command:`netserver` on DUT.

.. code-block:: console

netperf -H <DUT ip> -j -C -l 60 -t UDP_STREAM -b <burst_size> -w <wait_time> -- -m <UDP datagram size>
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE

CPSW/CPSW2g/CPSW3g Ethernet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

TCP Bidirectional Throughput
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. csv-table:: CPSW2g TCP Bidirectional Throughput
:header: "Command Used","am62lxx_evm-fs: THROUGHPUT (Mbits/sec)","am62lxx_evm-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","1215.82","98.99"

TCP Bidirectional Throughput Interrupt Pacing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. csv-table:: CPSW2g TCP Bidirectional Throughput Interrupt Pacing
:header: "Command Used","am62lxx_evm-fs: THROUGHPUT (Mbits/sec)","am62lxx_evm-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","1266.92","99.09"

UDP Throughput
~~~~~~~~~~~~~~

.. csv-table:: CPSW2g UDP Egress Throughput 0 loss
:header: "Frame Size(bytes)", "am62lxx_evm-fs: THROUGHPUT (Mbits/sec)", "am62lxx_evm-fs: Packets Per Second (kPPS)", "am62lxx_evm-fs: CPU Load % (LOCAL_CPU_UTIL)"

"64","41.23","81","77.62"
"128","80.45","79","77.20"
"256","145.58","71","75.10"
"1024","571.23","70","75.05"
"1518","810.12","69","74.91"

.. csv-table:: CPSW2g UDP Ingress Throughput 0 loss
:header: "Frame Size(bytes)", "am62lxx_evm-fs: THROUGHPUT (Mbits/sec)", "am62lxx_evm-fs: Packets Per Second (kPPS)", "am62lxx_evm-fs: CPU Load % (LOCAL_CPU_UTIL)"

"64","48.36","94","77.82"
"128","104.64","102","76.83"
"256","205.60","100","75.71"
"1024","651.14","79","73.67"
"1518","810.12","69","74.91"

|

Linux OSPI Flash Driver
Expand Down
117 changes: 117 additions & 0 deletions source/devices/AM62PX/linux/Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,123 @@ Run Glmark2 and capture performance reported (Score). All display outputs (HDMI,
"Glmark2-Wayland","776.40 (min 765.00, max 786.00)"


Ethernet
--------

Ethernet performance benchmarks were measured using :command:`netperf` 2.7.1 https://hewlettpackard.github.io/netperf/doc/netperf.html
Test procedures were modeled after those defined in RFC-2544:
https://tools.ietf.org/html/rfc2544, where the DUT is the TI device
and the "tester" used was a Linux PC. To produce consistent results,
it is recommended to carry out performance tests in a private network and to avoid
running NFS on the same interface used in the test. In these results,
CPU utilization was captured as the total percentage used across all cores on the device,
while running the performance test over one external interface.

UDP Throughput (0% loss) was measured by the procedure defined in RFC-2544 section 26.1: Throughput.
In this scenario, :command:`netperf` options burst_size (-b) and wait_time (-w) are used to limit bandwidth
during different trials of the test, with the goal of finding the highest rate at which
no loss is seen. For example, to limit bandwidth to 500Mbits/sec with 1472B datagram:

.. code-block:: console

burst_size = <bandwidth (bits/sec)> / 8 (bits -> bytes) / <UDP datagram size> / 100 (seconds -> 10 ms)
burst_size = 500000000 / 8 / 1472 / 100 = 425

wait_time = 10 milliseconds (minimum supported by Linux PC used for testing)

UDP Throughput (possible loss) was measured by capturing throughput and packet loss statistics when
running the :command:`netperf` test with no bandwidth limit (remove -b/-w options).

The following commands were used to tune the socket buffer sizes on the DUT before running the performance tests:

.. code-block:: console

sysctl -w net.core.rmem_default=33554432
sysctl -w net.core.rmem_max=67108864

In order to start a :command:`netperf` client on one device, the other device must have :command:`netserver` running.
To start :command:`netserver`:

.. code-block:: console

netserver [-p <port_number>] [-4 (IPv4 addressing)] [-6 (IPv6 addressing)]

Running the following shell script from the DUT will trigger :command:`netperf` clients to measure
bidirectional TCP performance for 60 seconds and report CPU utilization. Parameter -k is used in
client commands to summarize selected statistics on their own line and -j is used to gain
additional timing measurements during the test.

.. code-block:: console

#!/bin/bash
for i in 1
do
netperf -H <tester ip> -j -c -l 60 -t TCP_STREAM --
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE &

netperf -H <tester ip> -j -c -l 60 -t TCP_MAERTS --
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE &
done

Running the following commands will trigger :command:`netperf` clients to measure UDP burst performance for
60 seconds at various burst/datagram sizes and report CPU utilization.

- For UDP egress tests, run :command:`netperf` client from DUT and start :command:`netserver` on tester.

.. code-block:: console

netperf -H <tester ip> -j -c -l 60 -t UDP_STREAM -b <burst_size> -w <wait_time> -- -m <UDP datagram size>
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE

- For UDP ingress tests, run :command:`netperf` client from tester and start :command:`netserver` on DUT.

.. code-block:: console

netperf -H <DUT ip> -j -C -l 60 -t UDP_STREAM -b <burst_size> -w <wait_time> -- -m <UDP datagram size>
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE

CPSW/CPSW2g/CPSW3g Ethernet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- CPSW3g: AM62px

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","1828.16","43.22"

TCP Bidirectional Throughput Interrupt Pacing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. 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","1789.37","41.18"

UDP Throughput
~~~~~~~~~~~~~~

.. csv-table:: CPSW2g UDP Egress Throughput 0 loss
:header: "Frame Size(bytes)", "am62pxx_sk-fs: THROUGHPUT (Mbits/sec)", "am62pxx_sk-fs: Packets Per Second (kPPS)", "am62pxx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)"

"64","46.50","91","37.58"
"128","90.35","88","37.33"
"256","179.38","88","37.18"
"1024","673.26","82","35.55"
"1518","956.86","81","40.26"

.. csv-table:: CPSW2g UDP Ingress Throughput 0 loss
:header: "Frame Size(bytes)", "am62pxx_sk-fs: THROUGHPUT (Mbits/sec)", "am62pxx_sk-fs: Packets Per Second (kPPS)", "am62pxx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)"

"64","30.46","59","9.72"
"128","64.61","63","12.30"
"256","156.26","76","16.65"
"1024","939.47","115","36.24"
"1518","908.82","77","36.28"

|

Linux OSPI Flash Driver
Expand Down
117 changes: 117 additions & 0 deletions source/devices/AM62X/linux/Linux_Performance_Guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,123 @@ Run Glmark2 and capture performance reported (Score). All display outputs (HDMI,



Ethernet
--------

Ethernet performance benchmarks were measured using :command:`netperf` 2.7.1 https://hewlettpackard.github.io/netperf/doc/netperf.html
Test procedures were modeled after those defined in RFC-2544:
https://tools.ietf.org/html/rfc2544, where the DUT is the TI device
and the "tester" used was a Linux PC. To produce consistent results,
it is recommended to carry out performance tests in a private network and to avoid
running NFS on the same interface used in the test. In these results,
CPU utilization was captured as the total percentage used across all cores on the device,
while running the performance test over one external interface.

UDP Throughput (0% loss) was measured by the procedure defined in RFC-2544 section 26.1: Throughput.
In this scenario, :command:`netperf` options burst_size (-b) and wait_time (-w) are used to limit bandwidth
during different trials of the test, with the goal of finding the highest rate at which
no loss is seen. For example, to limit bandwidth to 500Mbits/sec with 1472B datagram:

.. code-block:: console

burst_size = <bandwidth (bits/sec)> / 8 (bits -> bytes) / <UDP datagram size> / 100 (seconds -> 10 ms)
burst_size = 500000000 / 8 / 1472 / 100 = 425

wait_time = 10 milliseconds (minimum supported by Linux PC used for testing)

UDP Throughput (possible loss) was measured by capturing throughput and packet loss statistics when
running the :command:`netperf` test with no bandwidth limit (remove -b/-w options).

The following commands were used to tune the socket buffer sizes on the DUT before running the performance tests:

.. code-block:: console

sysctl -w net.core.rmem_default=33554432
sysctl -w net.core.rmem_max=67108864

In order to start a :command:`netperf` client on one device, the other device must have :command:`netserver` running.
To start :command:`netserver`:

.. code-block:: console

netserver [-p <port_number>] [-4 (IPv4 addressing)] [-6 (IPv6 addressing)]

Running the following shell script from the DUT will trigger :command:`netperf` clients to measure
bidirectional TCP performance for 60 seconds and report CPU utilization. Parameter -k is used in
client commands to summarize selected statistics on their own line and -j is used to gain
additional timing measurements during the test.

.. code-block:: console

#!/bin/bash
for i in 1
do
netperf -H <tester ip> -j -c -l 60 -t TCP_STREAM --
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE &

netperf -H <tester ip> -j -c -l 60 -t TCP_MAERTS --
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE &
done

Running the following commands will trigger :command:`netperf` clients to measure UDP burst performance for
60 seconds at various burst/datagram sizes and report CPU utilization.

- For UDP egress tests, run :command:`netperf` client from DUT and start :command:`netserver` on tester.

.. code-block:: console

netperf -H <tester ip> -j -c -l 60 -t UDP_STREAM -b <burst_size> -w <wait_time> -- -m <UDP datagram size>
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE

- For UDP ingress tests, run :command:`netperf` client from tester and start :command:`netserver` on DUT.

.. code-block:: console

netperf -H <DUT ip> -j -C -l 60 -t UDP_STREAM -b <burst_size> -w <wait_time> -- -m <UDP datagram size>
-k DIRECTION,THROUGHPUT,MEAN_LATENCY,LOCAL_CPU_UTIL,REMOTE_CPU_UTIL,LOCAL_BYTES_SENT,REMOTE_BYTES_RECVD,LOCAL_SEND_SIZE

CPSW/CPSW2g/CPSW3g Ethernet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- CPSW3g: AM62x

TCP Bidirectional Throughput
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm. Don't like this sudden formatting change. What's proposing it?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comes from a heading-level shift introduced by cc2de1e feat(linux): AM62X: Add initial performance guide for 12.01.00 release PR #758 , which rewrote the file and dropped the = heading level. In 12.00 performance doc, the Ethernet section used = (level 3) → - (level 4, CPSW) → ^ (level 5, TCP/UDP sub-headings). After cc2de1e, - became level 3 and ^ became level 4. When restoring the Ethernet section, CPSW/ICSSG now sits at ^ (level 4), so the TCP/UDP sub-headings need a new level 5 — hence ~. The character itself is arbitrary; the level shift was caused by the 12.01 template rewrite, not this PR. Level 5 can be either " or ~.


.. 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","1657.01","67.11","1822.62","66.72","1763.18","67.48"

TCP Bidirectional Throughput Interrupt Pacing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. 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","1794.07","63.53","1828.80","57.91","1543.11","49.30"

UDP Throughput
~~~~~~~~~~~~~~

.. csv-table:: CPSW2g UDP Egress Throughput 0 loss
:header: "Frame Size(bytes)", "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: THROUGHPUT (Mbits/sec)", "am62xx_sk-fs: Packets Per Second (kPPS)", "am62xx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)", "am62xxsip_sk-fs: THROUGHPUT (Mbits/sec)", "am62xxsip_sk-fs: Packets Per Second (kPPS)", "am62xxsip_sk-fs: CPU Load % (LOCAL_CPU_UTIL)"

"64","38.61","75","36.53","44.13","86","37.14","45.71","89","37.74"
"128","76.11","74","36.58","85.34","83","36.72","91.47","89","37.33"
"256","148.89","73","36.41","169.41","83","36.51","170.76","83","36.89"
"1024","592.94","72","36.75","659.08","80","36.45","704.41","86","37.13"
"1518","846.54","72","36.56","208.42","18","11.87","916.55","78","39.59"

.. csv-table:: CPSW2g UDP Ingress Throughput 0 loss
:header: "Frame Size(bytes)", "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: THROUGHPUT (Mbits/sec)", "am62xx_sk-fs: Packets Per Second (kPPS)", "am62xx_sk-fs: CPU Load % (LOCAL_CPU_UTIL)", "am62xxsip_sk-fs: THROUGHPUT (Mbits/sec)", "am62xxsip_sk-fs: Packets Per Second (kPPS)", "am62xxsip_sk-fs: CPU Load % (LOCAL_CPU_UTIL)"

"64","33.53","65","15.91","41.16","80","19.91","30.41","59","12.23"
"128","63.90","62","15.10","66.05","65","15.68","61.95","60","14.96"
"256","170.41","83","26.12","148.27","72","18.20","142.13","69","13.55"
"1024","611.97","75","26.40","754.92","92","31.48","681.07","83","41.67"
"1518","954.54","81","39.92","956.88","81","38.55","710.47","60","31.15"

|

Linux OSPI Flash Driver
Expand Down
Loading
Loading