#[non_exhaustive]pub enum TransparentHugepageDefrag {
Unspecified,
Always,
Defer,
DeferWithMadvise,
Madvise,
Never,
UnknownValue(UnknownValue),
}Expand description
Possible values for transparent hugepage defrag support.
§Working with unknown values
This enum is defined as #[non_exhaustive] because Google Cloud may add
additional enum variants at any time. Adding new variants is not considered
a breaking change. Applications should write their code in anticipation of:
- New values appearing in future releases of the client library, and
- New values received dynamically, without application changes.
Please consult the Working with enums section in the user guide for some guidelines.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified
Default value. GKE will not modify the kernel configuration.
Always
It means that an application requesting THP will stall on allocation failure and directly reclaim pages and compact memory in an effort to allocate a THP immediately.
Defer
It means that an application will wake kswapd in the background to reclaim pages and wake kcompactd to compact memory so that THP is available in the near future. It’s the responsibility of khugepaged to then install the THP pages later.
DeferWithMadvise
It means that an application will enter direct reclaim and compaction like always, but only for regions that have used madvise(MADV_HUGEPAGE); all other regions will wake kswapd in the background to reclaim pages and wake kcompactd to compact memory so that THP is available in the near future.
Madvise
It means that an application will enter direct reclaim like always but only for regions that are have used madvise(MADV_HUGEPAGE). This is the default kernel configuration.
Never
It means that an application will never enter direct reclaim or compaction.
UnknownValue(UnknownValue)
If set, the enum was initialized with an unknown value.
Applications can examine the value using TransparentHugepageDefrag::value or TransparentHugepageDefrag::name.
Implementations§
Trait Implementations§
Source§impl Clone for TransparentHugepageDefrag
impl Clone for TransparentHugepageDefrag
Source§fn clone(&self) -> TransparentHugepageDefrag
fn clone(&self) -> TransparentHugepageDefrag
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TransparentHugepageDefrag
impl Debug for TransparentHugepageDefrag
Source§impl Default for TransparentHugepageDefrag
impl Default for TransparentHugepageDefrag
Source§impl<'de> Deserialize<'de> for TransparentHugepageDefrag
impl<'de> Deserialize<'de> for TransparentHugepageDefrag
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Display for TransparentHugepageDefrag
impl Display for TransparentHugepageDefrag
Source§impl From<&str> for TransparentHugepageDefrag
impl From<&str> for TransparentHugepageDefrag
Source§impl From<i32> for TransparentHugepageDefrag
impl From<i32> for TransparentHugepageDefrag
impl StructuralPartialEq for TransparentHugepageDefrag
Auto Trait Implementations§
impl Freeze for TransparentHugepageDefrag
impl RefUnwindSafe for TransparentHugepageDefrag
impl Send for TransparentHugepageDefrag
impl Sync for TransparentHugepageDefrag
impl Unpin for TransparentHugepageDefrag
impl UnwindSafe for TransparentHugepageDefrag
Blanket Implementations§
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.