Class: Nl::Linux::Netdev::AttributeSets::PagePool

Inherits:
AttributeSet
  • Object
show all
Defined in:
nl-linux/generated/nl/linux/netdev.rb

Defined Under Namespace

Classes: Attribute, DetachTime, Dmabuf, Id, Ifindex, Inflight, InflightMem, IoUring, NapiId

Constant Summary

Constants inherited from AttributeSet

AttributeSet::SELECTOR_NAMES

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AttributeSet

#<<, #[], build_attributes, decode, #encode, #initialize

Constructor Details

This class inherits a constructor from Nl::AttributeSet

Class Method Details

.by_name(name) ⇒ Attribute

Looks up Attribute class by name.

Parameters:

  • name (Symbol)

Returns:



389
# File 'nl-linux/generated/nl/linux/netdev.rb', line 389

def by_name(name); BY_NAME.fetch(name); end

.by_type(type) ⇒ Attribute

Looks up Attribute class by type value.

Parameters:

  • type (Integer)

Returns:



395
# File 'nl-linux/generated/nl/linux/netdev.rb', line 395

def by_type(type); BY_TYPE.fetch(type); end

Instance Method Details

#detach_time ⇒ Integer

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.

Returns:

  • (Integer)

See Also:



372
# File 'nl-linux/generated/nl/linux/netdev.rb', line 372

def detach_time; self[:"detach_time"]&.value; end

#dmabuf ⇒ Integer

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

Returns:

  • (Integer)

See Also:



377
# File 'nl-linux/generated/nl/linux/netdev.rb', line 377

def dmabuf; self[:"dmabuf"]&.value; end

#id ⇒ Integer

Unique ID of a Page Pool instance.

Returns:

  • (Integer)

See Also:



334
# File 'nl-linux/generated/nl/linux/netdev.rb', line 334

def id; self[:"id"]&.value; end

#ifindex ⇒ Integer

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

Returns:

  • (Integer)

See Also:



342
# File 'nl-linux/generated/nl/linux/netdev.rb', line 342

def ifindex; self[:"ifindex"]&.value; end

#inflight ⇒ Integer

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.

Returns:

  • (Integer)

See Also:



355
# File 'nl-linux/generated/nl/linux/netdev.rb', line 355

def inflight; self[:"inflight"]&.value; end

#inflight_mem ⇒ Integer

Amount of memory held by inflight pages.

Returns:

  • (Integer)

See Also:



360
# File 'nl-linux/generated/nl/linux/netdev.rb', line 360

def inflight_mem; self[:"inflight_mem"]&.value; end

#io_uring ⇒ AttributeSets::IoUringProviderInfo

io-uring memory provider information.



382
# File 'nl-linux/generated/nl/linux/netdev.rb', line 382

def io_uring; self[:"io_uring"]&.value; end

#napi_id ⇒ Integer

Id of NAPI using this Page Pool instance.

Returns:

  • (Integer)

See Also:



347
# File 'nl-linux/generated/nl/linux/netdev.rb', line 347

def napi_id; self[:"napi_id"]&.value; end