pub struct IoIsolationManager { /* private fields */ }Expand description
I/O isolation manager
Implementations§
Source§impl IoIsolationManager
impl IoIsolationManager
Sourcepub fn new(config: IoIsolationConfig) -> Self
pub fn new(config: IoIsolationConfig) -> Self
Create a new I/O isolation manager
Sourcepub fn partition_for(&self, workload: IoWorkloadType) -> &CachePartition
pub fn partition_for(&self, workload: IoWorkloadType) -> &CachePartition
Get the appropriate cache partition for a workload
Sourcepub fn should_use_direct_io(
&self,
workload: IoWorkloadType,
pattern: AccessPattern,
size_bytes: usize,
) -> bool
pub fn should_use_direct_io( &self, workload: IoWorkloadType, pattern: AccessPattern, size_bytes: usize, ) -> bool
Decide whether to use Direct I/O for an operation
Sourcepub fn under_memory_pressure(&self) -> bool
pub fn under_memory_pressure(&self) -> bool
Check if under memory pressure
Sourcepub fn maybe_evict(&self, target_bytes: usize) -> usize
pub fn maybe_evict(&self, target_bytes: usize) -> usize
Trigger emergency eviction if under pressure
Sourcepub fn all_stats(&self) -> Vec<PartitionStats>
pub fn all_stats(&self) -> Vec<PartitionStats>
Get all partition stats
Auto Trait Implementations§
impl !Freeze for IoIsolationManager
impl RefUnwindSafe for IoIsolationManager
impl Send for IoIsolationManager
impl Sync for IoIsolationManager
impl Unpin for IoIsolationManager
impl UnsafeUnpin for IoIsolationManager
impl UnwindSafe for IoIsolationManager
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more