You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See #744. One of the two pain ports in porting ring to a no_std platform is our use of std::sync::Once, which (obviously) requires libstd. There is only one use of std::sync::Once. Our single use of std::sync::Once is very simple: We look up the CPU capabilities (e.g. using CPUID) and store the results.
I think it is safe to assume that looking up the CPU capabilities is idempotent, so we could probably even let threads race with each other to cache the CPU capabilities, letting them stomp on each other's caching (in a controlled way).
See #744. One of the two pain ports in porting ring to a
no_std
platform is our use ofstd::sync::Once
, which (obviously) requires libstd. There is only one use ofstd::sync::Once
. Our single use ofstd::sync::Once
is very simple: We look up the CPU capabilities (e.g. using CPUID) and store the results.I think it is safe to assume that looking up the CPU capabilities is idempotent, so we could probably even let threads race with each other to cache the CPU capabilities, letting them stomp on each other's caching (in a controlled way).
/cc @jethrogb
The text was updated successfully, but these errors were encountered: