pub struct NumaAwareScheduler { /* private fields */ }
Expand description
NUMA-aware scheduler with optimized thread placement.
Implementations§
Source§impl NumaAwareScheduler
impl NumaAwareScheduler
pub fn new(config: PerfConfig, topology: NumaTopology) -> Self
Sourcepub fn find_optimal_placement(
&self,
thread: &Thread,
current_cpu: CpuId,
) -> NumaNodeId
pub fn find_optimal_placement( &self, thread: &Thread, current_cpu: CpuId, ) -> NumaNodeId
Find optimal NUMA node for thread placement.
Sourcepub fn should_balance_load(&self) -> Option<(NumaNodeId, NumaNodeId)>
pub fn should_balance_load(&self) -> Option<(NumaNodeId, NumaNodeId)>
Check if load balancing is needed between NUMA nodes.
Sourcepub fn suggest_migration(
&self,
from_node: NumaNodeId,
to_node: NumaNodeId,
) -> Option<ThreadMigrationSuggestion>
pub fn suggest_migration( &self, from_node: NumaNodeId, to_node: NumaNodeId, ) -> Option<ThreadMigrationSuggestion>
Suggest thread migration for load balancing.
Sourcepub fn set_placement_policy(&mut self, policy: NumaPlacementPolicy)
pub fn set_placement_policy(&mut self, policy: NumaPlacementPolicy)
Set the NUMA placement policy.
Sourcepub fn get_numa_stats(&self) -> Vec<NumaNodeStats>
pub fn get_numa_stats(&self) -> Vec<NumaNodeStats>
Get NUMA statistics for all nodes.
Sourcepub fn get_numa_efficiency(&self) -> NumaEfficiencyMetrics
pub fn get_numa_efficiency(&self) -> NumaEfficiencyMetrics
Get system-wide NUMA efficiency metrics.
Auto Trait Implementations§
impl Freeze for NumaAwareScheduler
impl RefUnwindSafe for NumaAwareScheduler
impl Send for NumaAwareScheduler
impl Sync for NumaAwareScheduler
impl Unpin for NumaAwareScheduler
impl UnwindSafe for NumaAwareScheduler
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