[−][src]Struct dpdk_unix::SysPath
Represents /sys
.
Methods
impl SysPath
[src]
pub fn disable_transparent_huge_pages(
&self
) -> Result<(), DisableTransparentHugePagesError>
[src]
&self
) -> Result<(), DisableTransparentHugePagesError>
Disable transparent huge pages.
pub fn is_a_numa_machine(&self) -> bool
[src]
Is this a NUMA-based machine?
pub fn is_a_numa_node(&self, numa_node: u8) -> bool
[src]
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]
&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]
A NUMA node file.
pub fn pci_device_path(
&self,
pci_device: (u32, u8, u8, u8),
file_name: &str
) -> PathBuf
[src]
&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]
A path about all hyper threads.
pub fn numa_nodes_path(&self, file_name: &str) -> PathBuf
[src]
A path about all NUMA nodes.
pub fn pci_devices_path(&self, file_name: &str) -> PathBuf
[src]
A path about all PCI devices.
pub fn rescan_all_pci_buses_and_devices(&self) -> Result<()>
[src]
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]
&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]
&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 Eq for SysPath
[src]
impl Clone for SysPath
[src]
fn clone(&self) -> SysPath
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialOrd<SysPath> for SysPath
[src]
fn partial_cmp(&self, other: &SysPath) -> Option<Ordering>
[src]
fn lt(&self, other: &SysPath) -> bool
[src]
fn le(&self, other: &SysPath) -> bool
[src]
fn gt(&self, other: &SysPath) -> bool
[src]
fn ge(&self, other: &SysPath) -> bool
[src]
impl PartialEq<SysPath> for SysPath
[src]
impl Default for SysPath
[src]
impl Ord for SysPath
[src]
fn cmp(&self, other: &SysPath) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
impl Hash for SysPath
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Debug for SysPath
[src]
impl<'de> Deserialize<'de> for SysPath
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Serialize for SysPath
[src]
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,