ef4_fast_pus..._descriptors(9)
π ef4_fast_push_rx_descriptors β like, the iconic one
okay bestie, so this is a page from the Kernel API Manual, and it's about ef4_fast_push_rx_descriptors β the function that pushes new RX descriptors quickly β¨ (yeah the name kind of ate, it tells you exactly what's happening).
πΈ NAME πΈ
ef4_fast_push_rx_descriptors β push new RX descriptors quickly π
β¨ SYNOPSIS β¨
void ef4_fast_push_rx_descriptors (struct ef4_rx_queue *rx_queue , bool
atomic );
like, that's the whole signature. no cap, that's it π«Ά
π¦ ARGUMENTS π¦
rx_queueβ the RX descriptor queue. the main character of this whole function, honestly πatomicβ controls the memory allocation flags. yeah it's literally the switch that decides how the memory gets grabbed π
π DESCRIPTION π
so the vibe here is: this function aims to fill the RX descriptor queue all the way up to rx_queue->max_fill. that's the goal, that's the dream π
but β and this is the important part, don't skip it β if there isn't enough atomic memory to actually do that, then a slow fill gets scheduled instead. so it's not a fail, it's just a "we'll get to it later" situation π
β οΈ okay so this is the caveat that matters: the caller must provide serialisation β none is used here. in practise, that means this function has to run from the NAPI handler, or be called when NAPI is disabled. do not skip this, bestie, fr fr π¨
π§ SEE ALSO π§
- Kernel file
./drivers/net/ethernet/sfc/falcon/rx.cβ go read the source, iykyk π ef4_init_rx_buffers(9)ef4_filter_is_mc_recipient(9)
and that's the page!! mwah π it lives under ./drivers/net/ethernet/sfc/falcon, dated October 2026, part of the Kernel API Manual β go off, kernel docs, you absolute icon βπ
π¦ 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