pub struct DVFSRaceSource;Expand description
Cross-core DVFS race entropy source.
Spawns two threads that race via tight counting loops. The absolute difference in their iteration counts after a short window (~2μs) is physically nondeterministic because:
- P-cores and E-cores have independent DVFS controllers that adjust frequency based on thermal sensors, power budget, and workload.
- The scheduler assigns threads to different core clusters nondeterministically based on system-wide load and QoS.
- Even within a single core type, frequency transitions are asynchronous and thermally-driven — two identical cores can run at different frequencies at the same instant.
- The stop signal propagation has cache-coherence latency that varies by which cores the threads landed on.
Trait Implementations§
Source§impl EntropySource for DVFSRaceSource
impl EntropySource for DVFSRaceSource
Auto Trait Implementations§
impl Freeze for DVFSRaceSource
impl RefUnwindSafe for DVFSRaceSource
impl Send for DVFSRaceSource
impl Sync for DVFSRaceSource
impl Unpin for DVFSRaceSource
impl UnsafeUnpin for DVFSRaceSource
impl UnwindSafe for DVFSRaceSource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more