Skip to main content

PagePool

Enum PagePool 

Source
pub enum PagePool<'a> {
    Id(u32),
    Ifindex(u32),
    NapiId(u32),
    Inflight(u32),
    InflightMem(u32),
    DetachTime(u32),
    Dmabuf(u32),
    IoUring(IterableIoUringProviderInfo<'a>),
}
Available on crate feature netdev only.

Variants§

§

Id(u32)

Unique ID of a Page Pool instance.

§

Ifindex(u32)

ifindex of the netdev to which the pool belongs. May not be reported if the page pool was allocated for a netdev which got destroyed already (page pools may outlast their netdevs because they wait for all memory to be returned).

§

NapiId(u32)

Id of NAPI using this Page Pool instance.

§

Inflight(u32)

Number of outstanding references to this page pool (allocated but yet to be freed pages). Allocated pages may be held in socket receive queues, driver receive ring, page pool recycling ring, the page pool cache, etc.

§

InflightMem(u32)

Amount of memory held by inflight pages.

§

DetachTime(u32)

Seconds in CLOCK_BOOTTIME of when Page Pool was detached by the driver. Once detached Page Pool can no longer be used to allocate memory. Page Pools wait for all the memory allocated from them to be freed before truly disappearing. "Detached" Page Pools cannot be "re-attached", they are just waiting to disappear. Attribute is absent if Page Pool has not been detached, and can still be used to allocate new memory.

§

Dmabuf(u32)

ID of the dmabuf this page-pool is attached to.

§

IoUring(IterableIoUringProviderInfo<'a>)

io-uring memory provider information.

Implementations§

Source§

impl PagePool<'_>

Source

pub fn new<'a>(buf: &'a [u8]) -> IterablePagePool<'a>

Trait Implementations§

Source§

impl<'a> Clone for PagePool<'a>

Source§

fn clone(&self) -> PagePool<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for PagePool<'a>

§

impl<'a> RefUnwindSafe for PagePool<'a>

§

impl<'a> Send for PagePool<'a>

§

impl<'a> Sync for PagePool<'a>

§

impl<'a> Unpin for PagePool<'a>

§

impl<'a> UnsafeUnpin for PagePool<'a>

§

impl<'a> UnwindSafe for PagePool<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.