Struct CacheParameter
pub struct CacheParameter { /* private fields */ }
dep_raw_cpuid
only.Expand description
Implementations§
§impl CacheParameter
impl CacheParameter
pub fn cache_type(&self) -> CacheType
pub fn cache_type(&self) -> CacheType
pub fn is_self_initializing(&self) -> bool
pub fn is_self_initializing(&self) -> bool
pub fn is_fully_associative(&self) -> bool
pub fn is_fully_associative(&self) -> bool
pub fn max_cores_for_cache(&self) -> usize ⓘ
pub fn max_cores_for_cache(&self) -> usize ⓘ
Maximum number of addressable IDs for logical processors sharing this cache
§Platforms
✅ AMD ✅ Intel
pub fn max_cores_for_package(&self) -> usize ⓘ
pub fn max_cores_for_package(&self) -> usize ⓘ
Maximum number of addressable IDs for processor cores in the physical package
§Platforms
❌ AMD ✅ Intel
pub fn coherency_line_size(&self) -> usize ⓘ
pub fn coherency_line_size(&self) -> usize ⓘ
pub fn physical_line_partitions(&self) -> usize ⓘ
pub fn physical_line_partitions(&self) -> usize ⓘ
pub fn associativity(&self) -> usize ⓘ
pub fn associativity(&self) -> usize ⓘ
pub fn is_write_back_invalidate(&self) -> bool
pub fn is_write_back_invalidate(&self) -> bool
Write-Back Invalidate/Invalidate (Bit 0) False: WBINVD/INVD from threads sharing this cache acts upon lower level caches for threads sharing this cache. True: WBINVD/INVD is not guaranteed to act upon lower level caches of non-originating threads sharing this cache.
§Platforms
✅ AMD ✅ Intel
pub fn is_inclusive(&self) -> bool
pub fn is_inclusive(&self) -> bool
Cache Inclusiveness (Bit 1) False: Cache is not inclusive of lower cache levels. True: Cache is inclusive of lower cache levels.
§Platforms
✅ AMD ✅ Intel
pub fn has_complex_indexing(&self) -> bool
pub fn has_complex_indexing(&self) -> bool
Complex Cache Indexing (Bit 2) False: Direct mapped cache. True: A complex function is used to index the cache, potentially using all address bits.
§Platforms
❌ AMD ✅ Intel
Trait Implementations§
§impl Clone for CacheParameter
impl Clone for CacheParameter
§fn clone(&self) -> CacheParameter
fn clone(&self) -> CacheParameter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for CacheParameter
impl Debug for CacheParameter
§impl PartialEq for CacheParameter
impl PartialEq for CacheParameter
impl Copy for CacheParameter
impl Eq for CacheParameter
impl StructuralPartialEq for CacheParameter
Auto Trait Implementations§
impl Freeze for CacheParameter
impl RefUnwindSafe for CacheParameter
impl Send for CacheParameter
impl Sync for CacheParameter
impl Unpin for CacheParameter
impl UnwindSafe for CacheParameter
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize ⓘ
fn byte_align(&self) -> usize ⓘ
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of_val(&self) -> usize ⓘ
fn mem_align_of_val(&self) -> usize ⓘ
Source§fn mem_size_of_val(&self) -> usize ⓘ
fn mem_size_of_val(&self) -> usize ⓘ
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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> ⓘ
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> ⓘ
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§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.