diff --git a/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst index 24b0c1f7c..9bae62a96 100644 --- a/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst @@ -618,3 +618,41 @@ Listed for each algorithm are the code snippets used to run each benchmark test. time -v openssl speed -elapsed -evp aes-128-cbc | + +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","35","194" + "R5F0_0","490","154","255" + "M4F","1","43","162" + "M4F","490","282","439" + +.. 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 index f1dd44376..71b302f4d 100644 Binary files a/source/devices/AM64X/linux/img/R5_0_0_m1_ipc_latency.png 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 index 4bf983ffc..37fd57dbb 100644 Binary files a/source/devices/AM64X/linux/img/R5_0_0_m490_ipc_latency.png 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 index f94850b2f..43e9bc61d 100644 Binary files a/source/devices/AM64X/linux/img/m4_0_m1_ipc_latency.png 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 index 6869a47ab..6edde4f09 100644 Binary files a/source/devices/AM64X/linux/img/m4_0_m490_ipc_latency.png and b/source/devices/AM64X/linux/img/m4_0_m490_ipc_latency.png differ