diff --git a/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst index 6911d9ebe..bfb00780e 100644 --- a/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst @@ -757,3 +757,42 @@ Listed for each algorithm are the code snippets used to run each benchmark test. | + +RP Message Inter-Processor Communication (IPC) Latency +------------------------------------------------------ + +RP Message latency Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +RP Message latency is the delay measured from sending a round trip echo message from +a Linux application to a remote processor and back. The following measurements use +a RP message length of 1 byte and 490 bytes for comparison. + +The Linux user space application `rpmsg_char_benchmark `__ captures these latency values. + +Test commands used for running IPC latency tests: + +.. code:: console + + rpmsg_char_benchmark -r 2 -n 100000 -m 1 & chrt -f -p 80 $! + +Latencies reported: + + +.. csv-table:: + :header: "Remote Processor","Message Size (in bytes)","Average round trip (usecs)","Max round trip (usecs)" + + "R5F0_0","1","32","205" + "R5F0_0","490","162","272" + "M4F","1","41","186" + "M4F","490","301","446" + +.. image:: img/R5_0_0_m1_ipc_latency.png + +.. image:: img/R5_0_0_m490_ipc_latency.png + +.. image:: img/m4_0_m1_ipc_latency.png + +.. image:: img/m4_0_m490_ipc_latency.png + +| diff --git a/source/devices/AM64X/linux/img/R5_0_0_m1_ipc_latency.png b/source/devices/AM64X/linux/img/R5_0_0_m1_ipc_latency.png new file mode 100644 index 000000000..b0c2b199d Binary files /dev/null and b/source/devices/AM64X/linux/img/R5_0_0_m1_ipc_latency.png differ diff --git a/source/devices/AM64X/linux/img/R5_0_0_m490_ipc_latency.png b/source/devices/AM64X/linux/img/R5_0_0_m490_ipc_latency.png new file mode 100644 index 000000000..3a8c03dcf Binary files /dev/null and b/source/devices/AM64X/linux/img/R5_0_0_m490_ipc_latency.png differ diff --git a/source/devices/AM64X/linux/img/m4_0_m1_ipc_latency.png b/source/devices/AM64X/linux/img/m4_0_m1_ipc_latency.png new file mode 100644 index 000000000..48bd8c985 Binary files /dev/null and b/source/devices/AM64X/linux/img/m4_0_m1_ipc_latency.png differ diff --git a/source/devices/AM64X/linux/img/m4_0_m490_ipc_latency.png b/source/devices/AM64X/linux/img/m4_0_m490_ipc_latency.png new file mode 100644 index 000000000..a1cf758d6 Binary files /dev/null and b/source/devices/AM64X/linux/img/m4_0_m490_ipc_latency.png differ