Struct dpdk_unix::SysPath [−][src]
pub struct SysPath(_);
Represents /sys.
Methods
impl SysPath[src]
impl SysPathpub fn is_a_numa_machine(&self) -> bool[src]
pub fn is_a_numa_machine(&self) -> boolIs this a NUMA-based machine?
pub fn is_a_numa_node(&self, numa_node: u8) -> bool[src]
pub fn is_a_numa_node(&self, numa_node: u8) -> boolIs this a NUMA node (assuming we're on a NUMA-based machine)?
Note that this might be a fake NUMA node, ie one lacking any hyper threads.
pub fn hyper_thread_path(
&self,
hyper_thread: HyperThread,
file_name: &str
) -> PathBuf[src]
pub fn hyper_thread_path(
&self,
hyper_thread: HyperThread,
file_name: &str
) -> PathBufA hyper thread file.
pub fn numa_node_path(&self, numa_node: u8, file_name: &str) -> PathBuf[src]
pub fn numa_node_path(&self, numa_node: u8, file_name: &str) -> PathBufA NUMA node file.
pub fn pci_device_path(
&self,
pci_device: (u32, u8, u8, u8),
file_name: &str
) -> PathBuf[src]
pub fn pci_device_path(
&self,
pci_device: (u32, u8, u8, u8),
file_name: &str
) -> PathBufA PCI device file.
pub fn hyper_threads_path(&self, file_name: &str) -> PathBuf[src]
pub fn hyper_threads_path(&self, file_name: &str) -> PathBufA path about all hyper threads.
pub fn numa_nodes_path(&self, file_name: &str) -> PathBuf[src]
pub fn numa_nodes_path(&self, file_name: &str) -> PathBufA path about all NUMA nodes.
pub fn pci_devices_path(&self, file_name: &str) -> PathBuf[src]
pub fn pci_devices_path(&self, file_name: &str) -> PathBufA path about all PCI devices.
pub fn rescan_all_pci_buses_and_devices(&self) -> Result<()>[src]
pub fn rescan_all_pci_buses_and_devices(&self) -> Result<()>Rescans all PCI buses and devices.
Errors are swallowed.
pub fn change_transparent_huge_pages_usage(
&self,
transparent_huge_page_regular_memory_choice: TransparentHugePageRegularMemoryChoice,
transparent_huge_page_shared_memory_choice: TransparentHugePageSharedMemoryChoice,
use_zero_page: bool
) -> Result<()>[src]
pub fn change_transparent_huge_pages_usage(
&self,
transparent_huge_page_regular_memory_choice: TransparentHugePageRegularMemoryChoice,
transparent_huge_page_shared_memory_choice: TransparentHugePageSharedMemoryChoice,
use_zero_page: bool
) -> Result<()>Changes Transparent Huge Pages (THP) settings.
The value of the transparent_huge_page_regular_memory_choice can also be specified in the Linux kernel command line parameters as one of "transparent_hugepage=never", "transparent_hugepage=always" or "transparent_hugepage=madvise".
pub fn change_transparent_huge_pages_defragmentation(
&self,
transparent_huge_page_defragmentation_choice: TransparentHugePageDefragmentationChoice,
pages_to_scan: u16,
scan_sleep_in_milliseconds: usize,
allocation_sleep_in_milliseconds: usize,
how_many_extra_small_pages_not_already_mapped_can_be_allocated_when_collapsing_small_pages: u16,
how_many_extra_small_pages_not_already_mapped_can_be_swapped_when_collapsing_small_pages: u16
) -> Result<()>[src]
pub fn change_transparent_huge_pages_defragmentation(
&self,
transparent_huge_page_defragmentation_choice: TransparentHugePageDefragmentationChoice,
pages_to_scan: u16,
scan_sleep_in_milliseconds: usize,
allocation_sleep_in_milliseconds: usize,
how_many_extra_small_pages_not_already_mapped_can_be_allocated_when_collapsing_small_pages: u16,
how_many_extra_small_pages_not_already_mapped_can_be_swapped_when_collapsing_small_pages: u16
) -> Result<()>Changes defragmentation using the Kernel-internal khugepaged daemon thread for Transparent Huge Pages (THP).
- The kernel default for
pages_to_scanis 4096. - The kernel default for
scan_sleep_in_millisecondsis 10_000. - The kernel default for
alloc_sleep_millisecsis 60_000. - The kernel default for
how_many_extra_small_pages_not_already_mapped_can_be_allocated_when_collapsing_small_pagesis 511. Also known asmax_ptes_none. A higher value leads to use additional memory for programs. A lower value produces less gains in performance. The value itself has very little effect on CPU usage. - The kernel default for
how_many_extra_small_pages_not_already_mapped_can_be_swapped_when_collapsing_small_pagesis 64. Also known asmax_ptes_swap. A higher value can cause excessive swap IO and waste memory. A lower value can prevent THPs from being collapsed, resulting in fewer pages being collapsed into THPs, and so lower memory access performance.
Trait Implementations
impl Debug for SysPath[src]
impl Debug for SysPathfn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl Clone for SysPath[src]
impl Clone for SysPathfn clone(&self) -> SysPath[src]
fn clone(&self) -> SysPathReturns 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 SysPath[src]
impl Ord for SysPathfn cmp(&self, other: &SysPath) -> Ordering[src]
fn cmp(&self, other: &SysPath) -> OrderingThis method returns an Ordering between self and other. Read more
fn max(self, other: Self) -> Self1.21.0[src]
fn max(self, other: Self) -> SelfCompares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self1.21.0[src]
fn min(self, other: Self) -> SelfCompares and returns the minimum of two values. Read more
impl PartialOrd for SysPath[src]
impl PartialOrd for SysPathfn partial_cmp(&self, other: &SysPath) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &SysPath) -> Option<Ordering>This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &SysPath) -> bool[src]
fn lt(&self, other: &SysPath) -> boolThis method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &SysPath) -> bool[src]
fn le(&self, other: &SysPath) -> boolThis method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &SysPath) -> bool[src]
fn gt(&self, other: &SysPath) -> boolThis method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &SysPath) -> bool[src]
fn ge(&self, other: &SysPath) -> boolThis method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl Eq for SysPath[src]
impl Eq for SysPathimpl PartialEq for SysPath[src]
impl PartialEq for SysPathfn eq(&self, other: &SysPath) -> bool[src]
fn eq(&self, other: &SysPath) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &SysPath) -> bool[src]
fn ne(&self, other: &SysPath) -> boolThis method tests for !=.
impl Hash for SysPath[src]
impl Hash for SysPathfn 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 Default for SysPath[src]
impl Default for SysPath