Hi Jay,

On Mon, 9 Mar 2026, at 13:06, Jay Krell via groups.io wrote:
> I am told, that going forward on ARMv8.1 and newer hardware,
> it is important to stop using LoadExclusive/StoreExclusive loops,
> and use the LSE instructions like cas, swp, ldadd.
> 

Why is it important? For multicore performance? Is that really a concern in 
UEFI?

> Visual C++ now by default outputs calls, to a library that is adaptive 
> at runtime.
> It detects 8.0 vs. 8.1 at runtime and then choses accordingly.
> 
> Currently I believe EDK2 hardcodes the 8.0 LoadExclusive/StoreExclusive loops.
> What should EDK2 do? Is it getting updated?
> Does the guidance for some reason not apply?
> 

It is guidance, not a rule. We still support v8.0 hardware, and implementing 
the dynamic behavior introduces complexity that is only justified if there is 
an actual advantage in terms of performance of robustness.

In general, it helps to stop and think about what the actual problem is before 
proposing a solution.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#121831): https://edk2.groups.io/g/devel/message/121831
Mute This Topic: https://groups.io/mt/118219869/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to