Struct dpdk_unix::SysPath [−][src]
pub struct SysPath(_);
Represents /sys
.
Methods
impl SysPath
[src]
impl SysPath
pub fn is_a_numa_machine(&self) -> bool
[src]
pub fn is_a_numa_machine(&self) -> bool
Is 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) -> bool
Is 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
) -> PathBuf
A 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) -> PathBuf
A 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
) -> PathBuf
A PCI device file.
pub fn hyper_threads_path(&self, file_name: &str) -> PathBuf
[src]
pub fn hyper_threads_path(&self, file_name: &str) -> PathBuf
A 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) -> PathBuf
A 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) -> PathBuf
A 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_scan
is 4096. - The kernel default for
scan_sleep_in_milliseconds
is 10_000. - The kernel default for
alloc_sleep_millisecs
is 60_000. - The kernel default for
how_many_extra_small_pages_not_already_mapped_can_be_allocated_when_collapsing_small_pages
is 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_pages
is 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 SysPath
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 Clone for SysPath
[src]
impl Clone for SysPath
fn clone(&self) -> SysPath
[src]
fn clone(&self) -> SysPath
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 SysPath
[src]
impl Ord for SysPath
fn cmp(&self, other: &SysPath) -> Ordering
[src]
fn cmp(&self, other: &SysPath) -> 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 SysPath
[src]
impl PartialOrd for SysPath
fn 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) -> bool
This 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) -> 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: &SysPath) -> bool
[src]
fn gt(&self, other: &SysPath) -> bool
This 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) -> bool
This 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 SysPath
impl PartialEq for SysPath
[src]
impl PartialEq for SysPath
fn eq(&self, other: &SysPath) -> bool
[src]
fn eq(&self, other: &SysPath) -> bool
This 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) -> bool
This method tests for !=
.
impl Hash for SysPath
[src]
impl Hash for SysPath
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 Default for SysPath
[src]
impl Default for SysPath