Skip to main content

PushPagePool

Struct PushPagePool 

Source
pub struct PushPagePool<Prev: Pusher> { /* private fields */ }
Available on crate feature netdev only.

Implementations§

Source§

impl<Prev: Pusher> PushPagePool<Prev>

Source

pub fn new(prev: Prev) -> Self

Source

pub fn end_nested(self) -> Prev

Source

pub fn push_id(self, value: u32) -> Self

Unique ID of a Page Pool instance.

Source

pub fn push_ifindex(self, value: u32) -> Self

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).

Source

pub fn push_napi_id(self, value: u32) -> Self

Id of NAPI using this Page Pool instance.

Source

pub fn push_inflight(self, value: u32) -> Self

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.

Source

pub fn push_inflight_mem(self, value: u32) -> Self

Amount of memory held by inflight pages.

Source

pub fn push_detach_time(self, value: u32) -> Self

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.

Source

pub fn push_dmabuf(self, value: u32) -> Self

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

Source

pub fn nested_io_uring(self) -> PushIoUringProviderInfo<Self>

io-uring memory provider information.

Trait Implementations§

Source§

impl<Prev: Pusher> Drop for PushPagePool<Prev>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl<Prev: Pusher> Pusher for PushPagePool<Prev>

Source§

fn as_vec_mut(&mut self) -> &mut Vec<u8>

Source§

fn as_vec(&self) -> &Vec<u8>

Source§

fn as_rec(&self) -> &Vec<u8>

👎Deprecated:

Use .as_vec() instead (rec -> vec)

Source§

fn as_rec_mut(&mut self) -> &mut Vec<u8>

👎Deprecated:

Use .as_vec_mut() instead (rec -> vec)

Auto Trait Implementations§

§

impl<Prev> Freeze for PushPagePool<Prev>
where Prev: Freeze,

§

impl<Prev> RefUnwindSafe for PushPagePool<Prev>
where Prev: RefUnwindSafe,

§

impl<Prev> Send for PushPagePool<Prev>
where Prev: Send,

§

impl<Prev> Sync for PushPagePool<Prev>
where Prev: Sync,

§

impl<Prev> Unpin for PushPagePool<Prev>
where Prev: Unpin,

§

impl<Prev> UnsafeUnpin for PushPagePool<Prev>
where Prev: UnsafeUnpin,

§

impl<Prev> UnwindSafe for PushPagePool<Prev>
where Prev: UnwindSafe,

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> 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, 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.