From b79f38ff7c03c1309815fa69be24d815bac14ca2 Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Thu, 9 Oct 2025 07:32:17 -0500 Subject: [PATCH 1/8] chore: use proper sections The lack of sections in this page makes cross linking difficult. Convert the bullet points and rubrics to proper sections. Signed-off-by: Bryan Brattlof --- .../linux/Foundational_Components_OPTEE.rst | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/source/linux/Foundational_Components_OPTEE.rst b/source/linux/Foundational_Components_OPTEE.rst index 9621917f0..c19c86cdd 100644 --- a/source/linux/Foundational_Components_OPTEE.rst +++ b/source/linux/Foundational_Components_OPTEE.rst @@ -3,8 +3,6 @@ OP-TEE ====== -.. rubric:: Overview - OP-TEE is a Trusted Execution Environment (TEE) designed as a companion to a non-secure Linux kernel running on Arm Cortex-A cores using the TrustZone technology. @@ -16,7 +14,8 @@ The OP-TEE binary (bl32.bin/tee-pager_v2.bin) is bundled into tispl.bin and the | -.. rubric:: Getting the OP-TEE Source Code +Getting the OP-TEE Source Code +------------------------------ The pre-built OPTEE binary should be packaged in TI Processor SDK: /board-support/prebuilt-images//bl32.bin. Use this binary since it has been tested with TI Processor SDK. @@ -32,13 +31,15 @@ Where is the OPTEE commit shown here: :ref:`optee-release-notes`. | -.. rubric:: Setting up the toolchain paths +Setting up the toolchain paths +------------------------------ .. include:: Overview/GCC_ToolChain.rst :start-after: .. start_include_yocto_toolchain_host_setup :end-before: .. end_include_yocto_toolchain_host_setup -.. rubric:: Building OP-TEE OS +Building OP-TEE OS +------------------ .. ifconfig:: CONFIG_part_variant in ('J721S2', 'J784S4','J742S2') @@ -46,19 +47,22 @@ Where is the OPTEE commit shown here: :ref:`optee-release-notes`. $ export CFG_CONSOLE_UART=0x8 -* Building the OPTEE image +Building the OP-TEE image +************************* .. parsed-literal:: $ make CROSS_COMPILE="$CROSS_COMPILE_32" CROSS_COMPILE64="$CROSS_COMPILE_64" PLATFORM=|__OPTEE_PLATFORM_FLAVOR__| CFG_ARM64_core=y -* Building the OPTEE image with debug parameters +Building the OP-TEE image with debug parameters +*********************************************** .. parsed-literal:: $ make CROSS_COMPILE="$CROSS_COMPILE_32" CROSS_COMPILE64="$CROSS_COMPILE_64" PLATFORM=|__OPTEE_PLATFORM_FLAVOR__| CFG_ARM64_core=y CFG_TEE_CORE_LOG_LEVEL=2 CFG_TEE_CORE_DEBUG=y -.. rubric:: Secure Storage with RPMB (For HS) +Secure Storage with RPMB (For HS) +********************************* OP-TEE provides secure storage functionality. TI SoCs with HS configuration have a KEK embedded in them that is programmed across OP-TEE instances that are distributed @@ -88,7 +92,8 @@ E.g. For enabling hybrid mode of RPMB along with REE_FS OPTEE-client also needs to be updated to enable the use of real emmc instead of the virtual emmc that is enabled by default -.. rubric:: Getting OP-TEE Client source code +Getting OP-TEE Client source code +--------------------------------- .. code-block:: console @@ -105,7 +110,8 @@ in `out/export/usr` folder | -.. rubric:: Building u-boot with OP-TEE OS +Building u-boot with OP-TEE OS +------------------------------ As of Processor SDK 9.0, the signing functionality earlier provided by the TI Security Development Package, has been integrated within U-Boot itself. This means tee-pager_v2.bin does not need to be signed before being packaged From ffa5d944fc3f9d2adb718a0c69e764e831389ff0 Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Fri, 10 Oct 2025 07:36:44 -0500 Subject: [PATCH 2/8] feat(linux): add section for building OPTEE with PRNG drivers In certain highly specific use-cases the TRNG drivers in OPTEE could have unwanted affects to the overall system if the application cares more about deterministic latency over entropy. Provide a section to document how to easily switch from the true RNG drivers to pseudo RNG drivers. Signed-off-by: Bryan Brattlof --- source/linux/Foundational_Components_OPTEE.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/source/linux/Foundational_Components_OPTEE.rst b/source/linux/Foundational_Components_OPTEE.rst index c19c86cdd..91c50bb74 100644 --- a/source/linux/Foundational_Components_OPTEE.rst +++ b/source/linux/Foundational_Components_OPTEE.rst @@ -61,6 +61,21 @@ Building the OP-TEE image with debug parameters $ make CROSS_COMPILE="$CROSS_COMPILE_32" CROSS_COMPILE64="$CROSS_COMPILE_64" PLATFORM=|__OPTEE_PLATFORM_FLAVOR__| CFG_ARM64_core=y CFG_TEE_CORE_LOG_LEVEL=2 CFG_TEE_CORE_DEBUG=y +.. _building-optee-with-prng: + +Building OP-TEE with Pseudo RNG drivers +*************************************** + +In certain highly specific use-cases the true RNG drivers could have a +detrimental effect to the overall system latency. Using the +``CFG_WITH_SOFTWARE_PRNG`` flag to use OP-TEE's Pseudo RNG drivers as a source +of entropy can work around these issues. + +.. parsed-literal:: + + $ make CROSS_COMPILE="$CROSS_COMPILE_32" CROSS_COMPILE64="$CROSS_COMPILE_64" PLATFORM=k3-|__OPTEE_PLATFORM_FLAVOR__| CFG_ARM64_core=y CFG_WITH_SOFTWARE_PRNG=y + + Secure Storage with RPMB (For HS) ********************************* From 7da73b7d19f296b0e07eed1d2892155d6231bf80 Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Fri, 10 Oct 2025 08:32:04 -0500 Subject: [PATCH 3/8] feat(linux): Add OP-TEE section to AM62LX builds Newer silicon revisions can now integrate OP-TEE into their builds. Add the OP-TEE foundation component back into the AM62LX build Signed-off-by: Bryan Brattlof --- configs/AM62LX/AM62LX_linux_toc.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/AM62LX/AM62LX_linux_toc.txt b/configs/AM62LX/AM62LX_linux_toc.txt index 4dafccf30..e05b13649 100644 --- a/configs/AM62LX/AM62LX_linux_toc.txt +++ b/configs/AM62LX/AM62LX_linux_toc.txt @@ -95,7 +95,7 @@ linux/Foundational_Components/Machine_Learning/armnn linux/Foundational_Components/Machine_Learning/nnstreamer linux/Foundational_Components/Machine_Learning/onnxrt linux/Foundational_Components/Machine_Learning/tflite -#linux/Foundational_Components_OPTEE +linux/Foundational_Components_OPTEE linux/Foundational_Components_ATF linux/Foundational_Components_Virtualization linux/Foundational_Components/Virtualization/Docker From db50b768c00984be5e5423804cc18ab31cd9449b Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Wed, 9 Jul 2025 08:18:21 -0500 Subject: [PATCH 4/8] perf(linux): AM62AX: Update PREEMPT_RT perf numbers for 11.1 Update the real time Linux latency numbers for SDK 11.1 Signed-off-by: Bryan Brattlof --- .../linux/RT_Linux_Performance_Guide.rst | 20 +++++++++++++----- .../rt-cpu-method-all-latency-histogram.png | Bin 6627 -> 7125 bytes 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst index 7c65ee6bf..44eb553f7 100644 --- a/source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM62AX/linux/RT_Linux_Performance_Guide.rst @@ -1,5 +1,5 @@ ====================================== - RT-linux 11.00 Performance Guide + RT-linux 11.01 Performance Guide ====================================== .. rubric:: **Read This First** @@ -57,14 +57,24 @@ Test commands used for running stress-ng and cyclictest together stress-ng --cpu-method=all -c 4 & cyclictest -m -Sp80 -D6h -h400 -i200 -M -q -The latencies where observed with this SDK are summarized below: +The following summarizes the latencies observed using the yocto based +default SDK image: + +.. note:: + + A known issue in this SDK release is affecting this benchmark. + Using OP-TEEs PRNG drivers rather than the hardware accelerated + TRNG drivers restores the context switch latencies to the values you + see here. + + More information on switching to the PRNG drivers can be found in the + Foundational Components section, here :ref:`building-optee-with-prng` .. csv-table:: :header: "Latencies","CPU 0","CPU 1","CPU 2","CPU 3" "Minimum (us)","5","5","5","5" - "Average (us)","5","6","6","5" - "Maximum (us)","68","31","34","28" + "Average (us)","6","6","6","6" + "Maximum (us)","31","29","30","30" .. image:: img/rt-cpu-method-all-latency-histogram.png - diff --git a/source/devices/AM62AX/linux/img/rt-cpu-method-all-latency-histogram.png b/source/devices/AM62AX/linux/img/rt-cpu-method-all-latency-histogram.png index e2f0c31c0614005668602d16eb217bb0ca632369..35c25420fe37b35a152871232d7efef22bdf849a 100644 GIT binary patch delta 6782 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 IRjh*l2T#iqZU6uP delta 6280 zcmY*dc|4Tu*Kam6_OUNnW>P2=)!VV0n{@M)Ww>!8F6KYTa%v3f+%GrL=^E}6^su!CatFZ;Xz7Dt6O7) z{Kx8;0Q;Z+%3AA&H>GWj?I8coQ?U26Cv>|4n7VU%BBiQ_FZ&;LV|IR+lef}60^hGZ zQFUCoYucLc`}O5mrEB+FE8Rm|$r0Rc4-0mC)5q1p17)kWPtt?P>jlaGjOfJ;H9!NrM%0;)8|S8;2G20}nNb(jsF& zbSD(X2xlK3ZJf}S)?IohD6%lZqqXo(#=t{IcmLjqFx=;JAIz6L4{uVI z4S!JF^NvWAzCJ1wh){WJ{ZvGH&Fz(I!Y9?D8Rum}k+ll$PHQBth{(a@(x>bpGnMnf zccC^9TnWurml$I#2&1prmV9?}Swme!*Xu}=!UWvmS=(tPCVrm6xOBi8L)K#H*OsEq z-C%aW7HHfUJIM!Y&(7#ZhGPqqVivpJgF5p^|B#~^T63Q^XQn$ zGGm=*)K+gp9#|Xjdf#f?<*;2#U1TkWAeh|uqOwG;_D~~YODg>_IO;*E((knh*$13$ z$zeXuKiXORxT;*3Lwht9vc5^N!*6K34L9*)`)K<1?fVz{VNKD6V#%`#u8kVLz$&L_K-OFPtjzuD&n3^)!+ei$yzId&3yoeuCmn7DzCXVG9sTWz93i0~NqNYW zKr>z4-Vvjj(z^A$Pr$aIjX?1;^?j4vsi{}(RQ;3Gl8iJHFI1mb|IIu7$UI+qoP)|W z*vlKXQ_0|fTKl(cAuRlrhkv`C3!c%r?&E4-NAr@v&? zf3k0sow-Rstz8OfAU!^<;1w+OK4g0(pZvih-e}`aBMKKtKJi|_QEY@^BNI8?&jyQJu z2LkrdUs+J^!dZvHMyfq#JO$cyZI6FY5IEAHxX_k|!vJxo%@q@hFlIandKyJ$-rKr= zPzzUUEdf?H9F)0{$Wf)76f?ZE0urgxUv^!U8HqGl(kGrLAYmT{mlScxSMa8PuBxsphZm zr<{trnk{q`ZjIu^R&jkRyPj-@NOXF@h8fQTLPnkoRUY$~Gp8sn&42J3NH+iYA;x;AewQ-CdW1OZa>C?fmPc*VG!dc<^nQtl-KAgUxm{@q;{mvgLu}igIP@0rXD3DU2ugG0)DPDO8 z&(B{|PHmnyiVadeHPwHKQu0$_{eB7;hkOgRiuv2a>#7HGC9*J04kp;gbrnY}sbn4a#C+|VYLNhDhX2Er>D28hdwe;c+TD zGXQ8#aYYxuWXlO{!KSi0!Gu5YI{C^XojQYI!Lg!>e?5gmek`K&oS7WsmnEjHUphnB zbzyp>lM2du4{aI8mRW|vu&ILHZ7&2AaJ$ciJGyn|yA1GvI0ALfZoSm6VuJS* z;zgVtqWq4S9n)9?SrW5%zzDMqU#UZG_{SxGK5e0o0py z@6(4Cu1;IyaXib6It*jWDcDrDG33e4j?>Iz4Td_g;03o=svj@cnL}VEEe7eTA!lL! zx=ptfOcsRRfvY%!?%HV;v&I)*P$giwQ$4K<()VKBL* z+;m?J4yJOq!TjNVUTn4L0vhKcmw+-MxQqh zc6a0hu?A47gtrpufMuIW5fv9&DuS#(WCK|FYfY} z2mw(J?09omBZIHE9;85diyL7#aLUXWffEQnVKtdwlzJs>Pq z@Y?Tfxs&))h2NR^H+XbG;IMdzUF^+eAQ5k*B26b$6`#1`)?hgr4QSItma2(ieTbMv z$Z~oq&x|)O01hl&is2Mu=n)*fu=GJXgzQ0F9ad4x2qyxMI?O5dFj##2y0~P4mvuri z2#3pn0#DbkgkNODbirSM!Mkw@DtN44gm`}HOS-3~oM@U$9k7LZ={hvhh?KzPDiW(- zZcc{q6wL4^il{3KGX6tS9NZwvc@SArU%3K-@6IHk8Xa7WZ?@=qTx$PPL^q2L<1IS_ zZTKT$SWyvE`wV&*A89#;SFgQw6%`ZtKofeknj}uUIR0UE;gK_Upc1xQkU)<10(2%;vEY;in)~{WxUub!(d(lM}LtO-nPlFeo*K8BP zt)D26mq7=YDSqD?WHL)Fk%Ls?<*Rv|7PO3maqnBeKE=YsGw{UkXK5gSqf%|S26>lU z5O#nq*QG=O0bPzxMsBR1pZG>pa!ww&{AItStL2}IYZ&N|PwX{; z>uJmB9jETJ=)b}~u|bC(CM|lVMQ05|nbVr0r2v7$xiL5^B>nU}dSbyX*RqQH%2wfZ z$?`A15W;FQ<=F5&ti;qq)Egpod=NmI3Nw#5JS@3(@}`@(!TRvwEkA?Xln1FB_&)Tz z8*5hzIdnq^Z|kaBD)i8h>^~S^bBSe zYw{Gzek$tcVl`9+iWVyP;VUmu+RR;d@4(F^+jR|z7np@|*HAzABSAnU(161F=8^v@ ziW5L01#&*4i}6%ykSMhh>c{bAN0EFJ0 zKKyEOOWx;+)LS1?IS7hq=B9dhpW%(CAA7Q`#a|(R1wo>;EO}`MHPJz}F?^H}u}z{w z|DGuwUO_WQ8#GPG(fwz}%yqCUqNhv#lS=>^8LD@|Q10`DDSuWB3>_zZyvz=N0V==Q zeUR2u7WFC7;gmwwS!RA?=~K;TF3Cgr=5AG`qM2f#4u^RpcKxv>FQ$t%3ha>Mz&55j z?kD;aFEH?B^&|VXqW}O;tr{$d;jL|YA)3QK*v5?KP)n#$cX%So3r}HmjyH8qD*wm^4QxeBZHw;Z7qF1% z5B(x;zffi46iAoKPFI)GBMB;=DG|e;a^%;cv9KT}BgP$<#LZBfvDF1qrQbf>VrQMj@ z^i~fxTOt={x?0HY-{IFBKUEpOM-6bg1`8-D(jb0=4$)Rj`J)F3p!**=$PnGjG1L(a z@DqP4X;+2v96`r&OIfbC0?59LEG(x2I`hHtvJe}!DdfTl^uh4#JVNr|;?aI!?Xe;i z9r>b$dm~}94)#JJee~iuYBn^3>7S2xgy(d%_`9>9Vxnh;J|r!+L0Mwyw$Sg62SrA5 zz(=q!jmNO$e-U~7eYfpy^gvcp1x&q3bNNR{voJ>S#H?tY6#!iY7Fdx2tdN+8bSl@Q zYgnW4R0q!OsN+we`bKCrp}oeCj2K1SJG-h|z!&C0r0mRnI;cidBXU4#KePl-W6{Nr|lsur*gM><_Xz+}^+YfF{b{Sq>f zuuH`T%-J;I55!SrAmYUrmx2diix|BB;Nn#rRi}p2Pgr`-k_dx!mOKZ^6zCq2(g7ER zMMHBgKcjfMsN!*{ap++*x741-@PE}E7&4*!MWN2nKkjW+d;(QgJh!}qWI&bF@6k{0 z7I)t2-W~o_zA4#L!f+Ob-`6rqt-(60%iP^JyU=CBPa0BtUD~~KzCBC6W&EVy1)BW- zXCb82tEOr=`ykfa6`P&N|EHUs`Kek&FMwT<(|(M;Me^?lFep8Lw$j8QpFZ?GW5I*b z@mtcOPRXt3ccR9Gi&z90Al0QM^8c*-&&9*20~T9|-5Q|3-9mxwb@&rEsxh}c{E+{D zAx*n$xTHUv;D>KMCKWRwNfWF;DAG<)=2%y>c``Rvk$kYfYxHw}*H_9x zM%87X`<_cfsa2ghYa`vym+`=sq!ue<=r;@hEuIfDTT+rgY;g{(Ie`C=FI&5}ZJ0Wq z3;zAaPDSt4^DUJ0%^_Pp$2fe*&`zx!*b1X=nrJ`m5rQ6L&4}M4Y#OCzWi**xO zV9-l8?MxRTTiew7M(ejmq+YeU=GU|Lnx*fFzkSW!^Gm_GyY#R)N-k50?NHa6eFaEL z+==KJ?GZCh536es4}4x=z1Q-q-Z@9&^m(4iy&3g5^LFQT9NhT&)rEJJN=>5+b>M}taaOazG`o6U@r?XF4 z^Ro8ml{u}PkNKNfUncx1(ymYhUcYHI@d3E*^~87aHZbZQQkJo+`mCh%B$D8<-9#*yIzV541vOy zaQJ9!WD5Jr^ftf=%ndl z@d@6?_7>$)a>b>m4|`Ssa?BG=dJJmto_C_IEUQJ9Q>6^FYp88btMJnaE%$jYa)_5i z{brNHpQe0q~?&Q{%{h9%C+hWdx2 zE|1?%zDZO%OKF1_Sbe8la!eUAkvQ*7cCRPU1vRf59OpA2sB#R7J?}pmykNaO|5Re` z`Mvr~C2~*K*Bk8?sO`CPTdRbuxB~k(k0)yTUcLKwR$p;~G3z5X`XlAOzV3K}OTgid zL^Ho15MJooeD!nHPD>g|En$B-Oes6}Xh8IaxzO~{_R5zeO!J^ryt;fui7`TXzs#U~ zZB(NE(L1&?l6Q_49_pv_h+oh7cDAi{ExX3jgj|uO(o8NeO3t_xZ*y&7&gzqYgKy(H z<1ZGy)QH+!MM^niA^1__JIT$3h7!PZHeV)|Qj zM*wIKJN>!ChMH#xJk+Qi@bH7T14OY5SV=6=<=uTe=1ww>F3@C1+)@sT6Ve`8`nQbzb z^HLJ^8jbottSVHP;5W8}RO^VJkj*~XtALbBEoQWGEBC5kZJ#GM6>!Hf7RFdMWL^`D zy}bWMhHS$j{nWa*bXxl3rkkoS@1jiBebWc>elj9Oc271f{+SDCNb_%F5}J;fH1lzs ztmLUOy5{3P8Wd!=q2rS=>d)^VmN9kqieO>3_vpjP;1xY4gu-0UOwCN(UI4oh=Zx-| z4<#(Jlxk|3O?aLPYpvir&dL3Un^t*DucKWa>ACXNho@*8d`Y-wqamEh@tfzMVE*8Mic!2 From c0be0888495620455d897c23b0973ca21665f886 Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Wed, 9 Jul 2025 08:20:39 -0500 Subject: [PATCH 5/8] perf(linux): AM62LX: Update PREEMPT_RT perf numbers for 11.1 Update the real-time Linux latency numbers for SDK 11.1 Signed-off-by: Bryan Brattlof --- .../linux/RT_Linux_Performance_Guide.rst | 17 ++++++++++++++--- .../rt-cpu-method-all-latency-histogram.png | Bin 6754 -> 7109 bytes 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/source/devices/AM62LX/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM62LX/linux/RT_Linux_Performance_Guide.rst index 9f47d9972..ab01f01af 100644 --- a/source/devices/AM62LX/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM62LX/linux/RT_Linux_Performance_Guide.rst @@ -56,13 +56,24 @@ Test commands used for running stress-ng and cyclictest together stress-ng --cpu-method=all -c 4 & cyclictest -m -Sp80 -D6h -h400 -i200 -M -q -The latencies observed with this SDK are summarized below: +The following summarizes the latencies observed using the yocto based +default SDK image: + +.. note:: + + A known issue in this SDK release is affecting this benchmark. + Using OP-TEEs PRNG drivers rather than the hardware accelerated TRNG + drivers restores the context switch latencies to the values you see + here. + + More information on switching to the PRNG drivers can be found in the + Foundational Components section, here :ref:`building-optee-with-prng` .. csv-table:: :header: "Latencies","CPU 0","CPU 1" "Minimum (us)","5","5" - "Average (us)","6","8" - "Maximum (us)","47","53" + "Average (us)","8","7" + "Maximum (us)","57","48" .. image:: img/rt-cpu-method-all-latency-histogram.png diff --git a/source/devices/AM62LX/linux/img/rt-cpu-method-all-latency-histogram.png b/source/devices/AM62LX/linux/img/rt-cpu-method-all-latency-histogram.png index f1e689e0a0ce9a472fb55d8ed31b65304387a180..ef0e71a266becf3e2cfaa435654ff775b9c2b7de 100644 GIT binary patch delta 6793 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 delta 6435 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 From 46cd1d0838a47423ac8a30a7575f6986fb2f9307 Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Wed, 9 Jul 2025 08:28:24 -0500 Subject: [PATCH 6/8] perf(linux): AM62PX: Update PREEMPT_RT perf numbers for 11.1 Update the real-time Linux latency numbers for SDK 11.1 Signed-off-by: Bryan Brattlof --- .../linux/RT_Linux_Performance_Guide.rst | 17 ++++++++++++++--- .../rt-cpu-method-all-latency-histogram.png | Bin 6580 -> 7243 bytes 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/source/devices/AM62PX/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM62PX/linux/RT_Linux_Performance_Guide.rst index 780c34920..d02ecea29 100644 --- a/source/devices/AM62PX/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM62PX/linux/RT_Linux_Performance_Guide.rst @@ -57,13 +57,24 @@ Test commands used for running stress-ng and cyclictest together stress-ng --cpu-method=all -c 4 & cyclictest -m -Sp80 -D6h -h400 -i200 -M -q -The latencies observed with this SDK are summarized below: +The following summarizes the latencies observed using the yocto based +default SDK image + +.. note:: + + A known issue in this SDK release is affecting this benchmark. + Using OP-TEEs PRNG drivers rather than the hardware accelerated TRNG + drivers restores the context switch latencies to the values you see + here. + + More information on switching to the PRNG drivers can be found in the + Foundational Components section, here :ref:`building-optee-with-prng` .. csv-table:: :header: "Latencies","CPU 0","CPU 1","CPU 2","CPU 3" "Minimum (usec)","5","5","5","5" - "Average (usec)","6","6","5","6" - "Maximum (usec)","30","33","31","35" + "Average (usec)","6","6","7","6" + "Maximum (usec)","36","34","37","34" .. image:: img/rt-cpu-method-all-latency-histogram.png diff --git a/source/devices/AM62PX/linux/img/rt-cpu-method-all-latency-histogram.png b/source/devices/AM62PX/linux/img/rt-cpu-method-all-latency-histogram.png index 6433c5b37da1f9cc3d5a17a9a09208fa08c3ad40..ce59ef96ddc930430ab339427c24e3cf0b1667e8 100644 GIT binary patch delta 6903 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 delta 6236 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 From b04f6d8ad4b6300fa87b107944526f43864ef3ac Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Wed, 9 Jul 2025 08:36:11 -0500 Subject: [PATCH 7/8] perf(linux): AM62X: Update PREEMPT_RT perf numbers for 11.1 Update the real-time Linux latency numbers for SDK 11.1 Signed-off-by: Bryan Brattlof --- .../linux/RT_Linux_Performance_Guide.rst | 21 ++++++++++++++---- .../rt-cpu-method-all-latency-histogram.png | Bin 7115 -> 7381 bytes 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/source/devices/AM62X/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM62X/linux/RT_Linux_Performance_Guide.rst index 35de6053f..e835e18f1 100644 --- a/source/devices/AM62X/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM62X/linux/RT_Linux_Performance_Guide.rst @@ -61,13 +61,26 @@ Test commands used for running stress-ng and cyclictest together stress-ng --cpu-method=all -c 4 & cyclictest -m -Sp80 -D6h -h400 -i200 -M -q -The latencies observed with this SDK are summarized below: +The following summarizes the latencies observed using the yocto based +default SDK image using the SK-AM62B-P1_ reference board: + +.. _SK-AM62B-P1: https://www.ti.com/tool/SK-AM62B-P1 + +.. note:: + + A known issue in this SDK release is affecting this benchmark. + Using OP-TEE's PRNG drivers rather than the hardware accelerated TRNG + drivers restores the context switch latencies to the values you see + here. + + More information on switching to the PRNG drivers can be found in the + Foundational Components section, here :ref:`building-optee-with-prng` .. csv-table:: :header: "Latencies","CPU 0","CPU 1","CPU 2","CPU 3" - "Minimum (usec)","5","5","4","4" - "Average (usec)","7","5","6","6" - "Maximum (usec)","66","41","73","70" + "Minimum (usec)","5","5","5","5" + "Average (usec)","6","6","6","6" + "Maximum (usec)","62","46","47","52" .. image:: img/rt-cpu-method-all-latency-histogram.png diff --git a/source/devices/AM62X/linux/img/rt-cpu-method-all-latency-histogram.png b/source/devices/AM62X/linux/img/rt-cpu-method-all-latency-histogram.png index a36483b588062d4dcdcd118393f6e6c788c57be9..84e30f8ac05763440ed0168c965e7386827d82ad 100644 GIT binary patch delta 7042 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 delta 6775 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 dPjbWkhkSfCXN*~8n(`=u3%Vvcm0E Date: Wed, 9 Jul 2025 08:43:39 -0500 Subject: [PATCH 8/8] perf(linux): AM64X: Update PREEMPT_RT perf numbers for 11.1 Update the real-time Linux latency numbers for SDK 11.1 Signed-off-by: Bryan Brattlof --- .../linux/RT_Linux_Performance_Guide.rst | 21 +++++++++++++----- .../rt-cpu-method-all-latency-histogram.png | Bin 6578 -> 7266 bytes 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst b/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst index 1c0429250..64f664c69 100644 --- a/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst +++ b/source/devices/AM64X/linux/RT_Linux_Performance_Guide.rst @@ -58,14 +58,25 @@ Test commands used for running stress-ng and cyclictest together stress-ng --cpu-method=all -c 4 & cyclictest -m -Sp80 -D6h -h400 -i200 -M -q -The latencies observed with this DK are summarized below: +The following summarizes the latencies observed using the yocto based +default SDK image: + +.. note:: + + A known issue in this SDK release is affecting this benchmark. + Using OP-TEE's PRNG drivers rather than the hardware accelerated TRNG + drivers restores the context switch latencies to the values you see + here. + + More information on switching to the PRNG drivers can be found in the + Foundational Components section, here :ref:`building-optee-with-prng` .. csv-table:: :header: "Latencies","CPU 0","CPU 1" "Minimum (usec)","6","6" - "Average (usec)","8","8" - "Maximum (usec)","77","105" + "Average (usec)","10","9" + "Maximum (usec)","77","52" .. image:: img/rt-cpu-method-all-latency-histogram.png @@ -791,8 +802,8 @@ 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 +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. diff --git a/source/devices/AM64X/linux/img/rt-cpu-method-all-latency-histogram.png b/source/devices/AM64X/linux/img/rt-cpu-method-all-latency-histogram.png index 54a41d8d5ba7567a5c358d08d29e40d334c81c3a..2e525ebf9c9476be7cd3027a2bf843a9acd1931f 100644 GIT binary patch delta 6951 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 GlK%&{8A5#k delta 6257 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