RTEMS | cpukit: Create DHRL Library for DRAM Latency Mitigation (!1193)
Wayne Thornton (@wmthornton-dev)
gitlab at rtems.org
Wed May 20 20:49:22 UTC 2026
Wayne Thornton commented on a discussion on cpukit/score/cpu/x86_64/include/rtems/score/cpu.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1193#note_150621
>
> typedef uintptr_t CPU_Uint32ptr;
>
> +/**
> + * @brief Pauses the CPU pipeline to prevent aggressive speculative execution
> + * and reduce thermal load during spin-wait loops.
> + */
> +static inline void _CPU_Pause_speculation( void )
> +{
> + __asm__ volatile( "pause" ::: "memory" );
We can change the name to `_CPU_Spin_wait()` without too much issue. The `pause` and `yield` assembly instructions are easy enough to add to each specific `cpu.h` file for whichever architecture DHRL is being ported. There is, however, a possibility that DHRL will not work on some architectures due to how those architectures handle memory and core assignment. For instance, `x86_64` is very straightforward, but some of the `Zynq` processors do not allow you to select a specific core. Kinsey and I discussed this a bit when I first started this implementation.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1193#note_150621
You're receiving this email because of your account on gitlab.rtems.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260520/0e8ffdd9/attachment.htm>
More information about the bugs
mailing list