STRUCT EF4_RX_QUEUE(9)
π NAME π
okay bestie, welcome to the struct ef4_rx_queue(9) page from the Kernel API Manual β this is all about struct ef4_rx_queue, aka An Efx RX queue. β¨
β¨ SYNOPSIS β¨
struct ef4_rx_queue {
struct ef4_nic *efx;
int core_index;
struct ef4_rx_buffer *buffer;
struct ef4_special_buffer rxd;
unsigned int ptr_mask;
bool refill_enabled;
bool flush_pending;
unsigned int added_count;
unsigned int notified_count;
unsigned int removed_count;
unsigned int scatter_n;
unsigned int scatter_len;
struct page **page_ring;
unsigned int page_add;
unsigned int page_remove;
unsigned int page_recycle_count;
unsigned int page_recycle_failed;
unsigned int page_recycle_full;
unsigned int page_ptr_mask;
unsigned int max_fill;
unsigned int fast_fill_trigger;
unsigned int min_fill;
unsigned int min_overfill;
unsigned int recycle_count;
struct timer_list slow_fill;
unsigned int slow_fill_count;
unsigned long rx_packets;
};
π Members π
here's the member-by-member tea β β every field from the struct, no skips:
efxβ the associated Efx NIC πcore_indexβ index of the network core RX queue. Itβs>= 0iff this is associated with a real RX queue.bufferβ the software buffer ringrxdβ the hardware descriptor ringptr_maskβ the size of the ring minus1.refill_enabledβ enable refill whenever the fill level is lowflush_pendingβ set when a RX flush is pending. It has the same lifetime asrxq_flush_pending.added_countβ number of buffers added to the receive queue.notified_countβ number of buffers given to NIC (<= added_count).removed_countβ number of buffers removed from the receive queue.scatter_nβ used by NIC specific receive code.scatter_lenβ used by NIC specific receive code.page_ringβ the ring to store DMA mapped pages for reuse.page_addβ counter to calculate the write pointer for the recycle ring.page_removeβ counter to calculate the read pointer for the recycle ring.page_recycle_countβ the number of pages that have been recycled.page_recycle_failedβ the number of pages that couldn't be recycled because the kernel still held a reference to them.page_recycle_fullβ the number of pages that were released because the recycle ring was full.page_ptr_maskβ the number of pages in the RX recycle ring minus1.max_fillβ RX descriptor maximum fill level (<= ring size)fast_fill_triggerβ RX descriptor fill level that will trigger a fast fill (<= max_fill)min_fillβ RX descriptor minimum non-zero fill level. This records the minimum fill level observed when a ring refill was triggered.recycle_countβ RX buffer recycle counter.slow_fillβ timer used to deferef4_nic_generate_fill_event.
π₯ SEE ALSO π₯
so the SEE ALSO squad is: the kernel file ./drivers/net/ethernet/sfc/falcon/net_driver.h, plus these manual pages:
struct ef4_buffer(9)struct ef4_special_buffer(9)struct ef4_tx_buffer(9)struct ef4_tx_queue(9)struct ef4_rx_buffer(9)struct ef4_rx_page_state(9)struct ef4_channel(9)struct ef4_msi_context(9)struct ef4_channel_type(9)struct ef4_link_state(9)struct ef4_phy_operations(9)enum ef4_phy_mode(9)struct ef4_hw_stat_desc(9)struct ef4_nic(9)struct ef4_nic_type(9)
that's the whole page, bestie π
β source/version is ./drivers/net/ethernet/sfc/falcon, dated October 2026, and it's literally the struct ef4_rx_queue(9) page. π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms