Struct dpdk_unix::HyperThread [−][src]
pub struct HyperThread(_);
Represents a logical hyper thread, which in Operating System terms is usually a logical CPU (core).
These usually map 1:1 with LogicalCore
s
Methods
impl HyperThread
[src]
impl HyperThread
pub fn set_work_queue_hyper_thread_affinity(
hyper_threads: &BTreeSet<HyperThread>,
sys_path: &SysPath
) -> Result<()>
[src]
pub fn set_work_queue_hyper_thread_affinity(
hyper_threads: &BTreeSet<HyperThread>,
sys_path: &SysPath
) -> Result<()>
Sets workqueue hyper thread affinity.
pub fn force_watchdog_to_just_these_hyper_threads(
hyper_threads: &BTreeSet<HyperThread>,
proc_path: &ProcPath
) -> Result<()>
[src]
pub fn force_watchdog_to_just_these_hyper_threads(
hyper_threads: &BTreeSet<HyperThread>,
proc_path: &ProcPath
) -> Result<()>
We ignore failures as the /proc
for this is brittle.
Should not be needed if nohz_full
was specified on the Linux command line.
pub fn last(hyper_threads: &BTreeSet<HyperThread>) -> Option<&Self>
[src]
pub fn last(hyper_threads: &BTreeSet<HyperThread>) -> Option<&Self>
Last hyper thread.
pub fn complement(
hyper_threads: &BTreeSet<Self>,
sys_path: &SysPath
) -> BTreeSet<Self>
[src]
pub fn complement(
hyper_threads: &BTreeSet<Self>,
sys_path: &SysPath
) -> BTreeSet<Self>
The complement of hyper_threads
.
pub fn remove_those_offline(
hyper_threads: &BTreeSet<Self>,
sys_path: &SysPath
) -> BTreeSet<Self>
[src]
pub fn remove_those_offline(
hyper_threads: &BTreeSet<Self>,
sys_path: &SysPath
) -> BTreeSet<Self>
Remove as offline hyper_threads
.
pub fn present(sys_path: &SysPath) -> BTreeSet<Self>
[src]
pub fn present(sys_path: &SysPath) -> BTreeSet<Self>
CPUs (hyper threaded logical cores) that are present and that could become online.
Consider using libnuma instead of this call.
See https://www.kernel.org/doc/Documentation/cputopology.txt.
pub fn online(sys_path: &SysPath) -> BTreeSet<Self>
[src]
pub fn online(sys_path: &SysPath) -> BTreeSet<Self>
Hyper threaded logical cores that are online at some point.
Consider using libnuma instead of this call.
See https://www.kernel.org/doc/Documentation/cputopology.txt.
pub fn offline(sys_path: &SysPath) -> BTreeSet<Self>
[src]
pub fn offline(sys_path: &SysPath) -> BTreeSet<Self>
Hyper threaded logical cores that are offline.
The maximum CPU index in this list can exceed the kernel's maximum in self.kernel_maximum_index
.
Close to useless.
See https://www.kernel.org/doc/Documentation/cputopology.txt.
pub fn possible(sys_path: &SysPath) -> BTreeSet<Self>
[src]
pub fn possible(sys_path: &SysPath) -> BTreeSet<Self>
Hyper threaded logical cores that could possibly be online at some point.
Close to very useless.
See https://www.kernel.org/doc/Documentation/cputopology.txt.
pub fn is_online(self, sys_path: &SysPath) -> bool
[src]
pub fn is_online(self, sys_path: &SysPath) -> bool
Is this hyper thread online?
See https://www.kernel.org/doc/Documentation/core-api/cpu_hotplug.rst.
pub fn is_offline(self, sys_path: &SysPath) -> bool
[src]
pub fn is_offline(self, sys_path: &SysPath) -> bool
Is this hyper thread offline?
See https://www.kernel.org/doc/Documentation/core-api/cpu_hotplug.rst.
pub fn set_offline(self, sys_path: &SysPath) -> Result<()>
[src]
pub fn set_offline(self, sys_path: &SysPath) -> Result<()>
Disable (offline) this hyper thread.
Requires root.
Hyper thread (CPU) zero (0) is special on x86 / x86-64 and can not ordinarily be offlined.
See https://www.kernel.org/doc/Documentation/core-api/cpu_hotplug.rst.
pub fn set_online(self, sys_path: &SysPath) -> Result<()>
[src]
pub fn set_online(self, sys_path: &SysPath) -> Result<()>
Enable (online) this hyper thread.
Requires root.
See https://www.kernel.org/doc/Documentation/core-api/cpu_hotplug.rst.
pub fn siblings(self, sys_path: &SysPath) -> BTreeSet<Self>
[src]
pub fn siblings(self, sys_path: &SysPath) -> BTreeSet<Self>
Hyper threaded logical cores that are siblings of this one.
Will include self
.
See https://www.kernel.org/doc/Documentation/cputopology.txt.
pub fn thread_siblings(self, sys_path: &SysPath) -> BTreeSet<Self>
[src]
pub fn thread_siblings(self, sys_path: &SysPath) -> BTreeSet<Self>
Hyper threaded logical cores that are hyper-thread-siblings of this one.
Will include self
.
Usually wrong on virtual machines (eg Parallels Desktop).
See https://www.kernel.org/doc/Documentation/cputopology.txt.
pub fn hyper_thread_groups(
hyper_threads: &BTreeSet<Self>,
sys_path: &SysPath
) -> BTreeSet<BTreeSet<Self>>
[src]
pub fn hyper_thread_groups(
hyper_threads: &BTreeSet<Self>,
sys_path: &SysPath
) -> BTreeSet<BTreeSet<Self>>
Hyper threaded logical cores grouped as hyper thread groups (eg HT 0 and 1, 2 and 3, etc).
pub fn numa_node(self, sys_path: &SysPath) -> Option<u8>
[src]
pub fn numa_node(self, sys_path: &SysPath) -> Option<u8>
Tries to find this hyper thread's NUMA node, if this is a NUMA machine.
pub fn level1_cache_hyper_thread_siblings_including_self(
self,
sys_path: &SysPath
) -> BTreeSet<Self>
[src]
pub fn level1_cache_hyper_thread_siblings_including_self(
self,
sys_path: &SysPath
) -> BTreeSet<Self>
Hyper threaded logical cores that are thread-siblings of this one according to the level 1 cache.
Will include self
.
Usually reliable.
pub fn level1_cache_hyper_thread_siblings_excluding_self(
self,
sys_path: &SysPath
) -> BTreeSet<Self>
[src]
pub fn level1_cache_hyper_thread_siblings_excluding_self(
self,
sys_path: &SysPath
) -> BTreeSet<Self>
Hyper threaded logical cores that are thread-siblings of this one according to the level 1 cache.
Will exclude self
.
Usually reliable.
pub fn underlying_hardware_physical_core_identifier(
self,
sys_path: &SysPath
) -> Result<u16>
[src]
pub fn underlying_hardware_physical_core_identifier(
self,
sys_path: &SysPath
) -> Result<u16>
Underlying hardware, not Linux, core identifier.
See https://www.kernel.org/doc/Documentation/cputopology.txt.
pub fn underlying_hardware_physical_socket_identifier(
self,
sys_path: &SysPath
) -> Result<u16>
[src]
pub fn underlying_hardware_physical_socket_identifier(
self,
sys_path: &SysPath
) -> Result<u16>
Underlying hardware, not Linux, socket identifier.
See https://www.kernel.org/doc/Documentation/cputopology.txt.
pub fn kernel_maximum_index(sys_path: &SysPath) -> Result<Self>
[src]
pub fn kernel_maximum_index(sys_path: &SysPath) -> Result<Self>
Simply reports the maximum identifier that could be used by the Linux kernel upto the CONFIG_
number of CPUs.
Add one to this to get the exclusive maximum.
Consider using libnuma instead of this call.
pub fn current_hyper_thread() -> Self
[src]
pub fn current_hyper_thread() -> Self
Current hyper thread index that this thread is running on.
Unless this thread has been scheduled to only run on this hyper thread, then the result is close to useless.
Topology is not available on FreeBSD; value will always be zero.
Trait Implementations
impl Default for HyperThread
[src]
impl Default for HyperThread
fn default() -> HyperThread
[src]
fn default() -> HyperThread
Returns the "default value" for a type. Read more
impl Debug for HyperThread
[src]
impl Debug for HyperThread
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Copy for HyperThread
[src]
impl Copy for HyperThread
impl Clone for HyperThread
[src]
impl Clone for HyperThread
fn clone(&self) -> HyperThread
[src]
fn clone(&self) -> HyperThread
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Ord for HyperThread
[src]
impl Ord for HyperThread
fn cmp(&self, other: &HyperThread) -> Ordering
[src]
fn cmp(&self, other: &HyperThread) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl PartialOrd for HyperThread
[src]
impl PartialOrd for HyperThread
fn partial_cmp(&self, other: &HyperThread) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &HyperThread) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &HyperThread) -> bool
[src]
fn lt(&self, other: &HyperThread) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &HyperThread) -> bool
[src]
fn le(&self, other: &HyperThread) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &HyperThread) -> bool
[src]
fn gt(&self, other: &HyperThread) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &HyperThread) -> bool
[src]
fn ge(&self, other: &HyperThread) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Eq for HyperThread
[src]
impl Eq for HyperThread
impl PartialEq for HyperThread
[src]
impl PartialEq for HyperThread
fn eq(&self, other: &HyperThread) -> bool
[src]
fn eq(&self, other: &HyperThread) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &HyperThread) -> bool
[src]
fn ne(&self, other: &HyperThread) -> bool
This method tests for !=
.
impl Hash for HyperThread
[src]
impl Hash for HyperThread
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl From<u16> for HyperThread
[src]
impl From<u16> for HyperThread
impl Into<u16> for HyperThread
[src]
impl Into<u16> for HyperThread
Auto Trait Implementations
impl Send for HyperThread
impl Send for HyperThread
impl Sync for HyperThread
impl Sync for HyperThread